C# 检测表单中的其他类组合框更改
我想检测组合框selectedindex更改。 组合框位于不同的类中,然后是表单类:C# 检测表单中的其他类组合框更改,c#,C#,我想检测组合框selectedindex更改。 组合框位于不同的类中,然后是表单类: 类分析 { 公共分析(表格) { 大小=新组合框(); 尺寸。位置=新点(100100); size.Name=“matrixsize”; 尺寸。尺寸=新尺寸(200100); 尺寸.项目.添加范围(矩阵尺寸); 窗体控件。添加(大小); } 私有字符串[]矩阵_大小={“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“0”}; 专用组合框大小; } 我正在这里创建一个类型为Analy
类分析
{
公共分析(表格)
{
大小=新组合框();
尺寸。位置=新点(100100);
size.Name=“matrixsize”;
尺寸。尺寸=新尺寸(200100);
尺寸.项目.添加范围(矩阵尺寸);
窗体控件。添加(大小);
}
私有字符串[]矩阵_大小={“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“0”};
专用组合框大小;
}
我正在这里创建一个类型为Analyze的新对象:
现在我想检测Analyze.size中值的变化,我该怎么做?访问“大小”组合框的正确方法是什么
提前感谢。只需添加您自己的处理程序:
class Analyze {
public event EventHandler SelectedIndexChanged;
public Analyze(Form theform) {
...
size.SelectedIndexChanged += size_SelectedIndexChanged;
theform.Controls.Add(size);
}
void size_SelectedIndexChanged(object sender, EventArgs e) {
if (SelectedIndexChanged != null) {
SelectedIndexChanged(sender, e);
}
}
}
然后在调用表单上注销您的事件:
private void Analyze_Click(object sender, EventArgs e)
Analyze analyze = new Analyze(this);
analyze.SelectedIndexChanged += analyze_SelectedIndexChanged;
}
void analyze_SelectedIndexChanged(object sender, EventArgs e) {
// do something
}
向分析类添加事件。您将组合框添加到表单中,因此它不是“位于其他类中”,而是附加到表单中。您可以通过窗体控件[“matrixsize”]访问它,因为您已将“matrixsize”指定给Name属性。
private void Analyze_Click(object sender, EventArgs e)
Analyze analyze = new Analyze(this);
analyze.SelectedIndexChanged += analyze_SelectedIndexChanged;
}
void analyze_SelectedIndexChanged(object sender, EventArgs e) {
// do something
}