- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我的 C# Winform 面板中有一堆文本框。每行文本框的命名如下:
tb1 tbNickName1 comboBox1
tb2 tbNickName2 comboBox2
tb3 tbNickName3 comboBox3
等等。
我在每一行文本框旁边都有一个按钮。但是,我不想让按钮指向每个按钮的不同事件,而是只想将按钮指向 button1_Click 事件,并让它在那里完成所有处理。我知道如何执行此操作并且我所有的按钮都指向 button1_Click 事件。
但我需要能够确定它是从哪个按钮调用的(我能够做到),但我需要操作事件中文本框的名称,以便我可以根据哪一行进行处理我在我正在调用的/按钮中。
例如,如果我在 tb2 tbNickName2 comboBox2 文本框所在的第 2 行,那么我需要能够让 button1_Click 事件知道这一点并自动将 tb2 tbNickName2 comboBox2 值分配给我在下面的例子。
private void button1_Click(object sender, EventArgs e)
{
Button bt = (Button) sender; //will return 'button1'
string tmpEmail = null;
string tmpNickName = null;
string tmpGroup = null;
//I don't want to hard code the tb1.Text value here, I want to have
// the namechange based on which (Button) sender it was called from.
// For example button1 should assign all the
// tb1 tbNickName1 comboBox1 values
//If called from button2, then it should assign the
//tb2 tbNickName2 comboBox2 values instead
//How can I do this so tb1.Text is based off of the button # that I am
//calling for example tb(bt).Text would be cool but that does not work.
tmpEmail = tb1.Text; //What do I change tb1.Text to based on button #?
tmpNickName = tbNickName1.Text; //What do I change tbNickName1.Text to?
tmpGroup = comboBox1.Text;//What do I change comboBox1.Text to?
}
我知道我没有很好地解释这一点,但这是我能做的最好的。
最佳答案
Button button = sender as Button;
string buttonIndex = button.Name.Substring(6);
string tempEmail = (this.Controls["tb" + buttonIndex] as TextBox).Text;
string tmpNickName = (this.Controls["tbNickName" + buttonIndex] as TextBox).Text;
string tmpGroup = (this.Controls["comboBox" + buttonIndex] as ComboBox).Text;
关于c# - 如何根据调用方法的调用(按钮)发送者(按钮#)操作变量名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12996052/
我是iOS的新手,我想更新ViewDidLoad()函数中的文本。 这是我的按钮功能,单击按钮时会发生动画,并将值“1”添加到“resultText.text” - (IBAction)oneB
做了什么 我有一个名为 MyUser 的自定义 User 模型,如 full example for an custom user model 中所述。在文档和一个所谓的 UserProfile 上,
我有一个 NSMenu(应用程序停靠菜单),其中有几个具有相同操作的项目。 如何找出发件人项目(触发操作的项目)在其容器菜单中的索引? (我对标题不感兴趣,因为它可能是重复的) 这就是我尝试过的,但它
我正在开发一个带有 NSTableView 的 macOS 应用程序,我希望能够在用户选择一行时使用 Cmd+C 快捷键复制单元格的内容。我已经实现了该方法 copy(sender: AnyObjec
我一直在使用 MVVM 的 RelayCommand 成功地将操作绑定(bind)到 XAML,但是我的 ItemsControl 有一个小问题。
我的 C# Winform 面板中有一堆文本框。每行文本框的命名如下: tb1 tbNickName1 comboBox1 tb2 tbNickName2 comboBox2 tb3 tbNickNa
我有一个IBAction,例如: - (IBAction)thisThing:(id)sender { [self doSomething]; } 我想这样做(手动调用 IBAction): [s
我知道如何通过 zeromq 将字符串消息从 C++ 发送到 Python。 这是我知道的发送字符串消息的代码: C++ 发件人代码: void *context = zmq_ctx_new(); v
我是一名优秀的程序员,十分优秀!