C#中动态生成的控件如何获取它的事件和属性
答案:2 悬赏:60 手机版
解决时间 2021-03-31 12:24
- 提问者网友:呐年旧曙光
- 2021-03-30 13:08
C#中动态生成的控件如何获取它的事件和属性
最佳答案
- 五星知识达人网友:拾荒鲤
- 2021-03-30 13:31
MDI窗体创建全局类的静态变量,在你的控件值改变时,赋值给全局变量,然后你的本窗体去读取这个全局变量就可以了;
根据你的代码对应:
child.Tag和child.Text也可以追问这个静态变量是什么类型的呢?追答private void button8_Click(object sender,EventArgs e)
{
Form child=new Form();
child.MdiParent=this;
RichTextBox rich=new RichTextBox();
rich.Width=child.Width;
rich.Height=child.Height;
rich.Dock=DockStyle.Fill;
rich.TextChanged+=new System.EventHandler(this.rich_TextChanged);
rich.Tag=1;//你的MDI个数++
child.Controls.Add(rich);
child.Show();
}
public string sss=""; //不同的MDI创建不同的变量即可
private void rich_TextChanged(object sender,EventArgs e)
{
//根据TAG不同赋值不同的变量
int i= Convert.ToInt32(((RichTextBox)sender).Tag);
if(i==1)
sss=((RichTextBox)sender).Text;
}
private void button9_Click(object sender,EventArgs e)
{
MessageBox.Show(sss);
}
}
根据你的代码对应:
child.Tag和child.Text也可以追问这个静态变量是什么类型的呢?追答private void button8_Click(object sender,EventArgs e)
{
Form child=new Form();
child.MdiParent=this;
RichTextBox rich=new RichTextBox();
rich.Width=child.Width;
rich.Height=child.Height;
rich.Dock=DockStyle.Fill;
rich.TextChanged+=new System.EventHandler(this.rich_TextChanged);
rich.Tag=1;//你的MDI个数++
child.Controls.Add(rich);
child.Show();
}
public string sss=""; //不同的MDI创建不同的变量即可
private void rich_TextChanged(object sender,EventArgs e)
{
//根据TAG不同赋值不同的变量
int i= Convert.ToInt32(((RichTextBox)sender).Tag);
if(i==1)
sss=((RichTextBox)sender).Text;
}
private void button9_Click(object sender,EventArgs e)
{
MessageBox.Show(sss);
}
}
全部回答
- 1楼网友:北方的南先生
- 2021-03-30 13:58
可以直接遍历所有子窗体追问能给个示例吗追答foreach (Form var in this.MdiChildren)
{
}
{
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯