C#中 如何写一个类得到引用该类的程序的窗口句柄,并通过这些句柄对窗口里的控件属性设置?
给个思路也好啊~~谢谢了,分不多,希望大家帮忙我迷惑的地方有:1.我写了一个类,引用该类的时候这个类怎么读到当前程序的所有窗口句柄?用This肯定不行嘛,怎么表达?2.有...
给个思路也好啊~~谢谢了,分不多,希望大家帮忙
我迷惑的地方有:
1.我写了一个类,引用该类的时候这个类怎么读到当前程序的所有窗口句柄?用This肯定不行嘛,怎么表达?
2.有了句柄后怎么弄得到控制控件的属性呢?
或者还有没有别的办法可以控制各窗体的控件属性?[如在需要的时候设置["textbox.visiabe=false"] 展开
我迷惑的地方有:
1.我写了一个类,引用该类的时候这个类怎么读到当前程序的所有窗口句柄?用This肯定不行嘛,怎么表达?
2.有了句柄后怎么弄得到控制控件的属性呢?
或者还有没有别的办法可以控制各窗体的控件属性?[如在需要的时候设置["textbox.visiabe=false"] 展开
展开全部
第一个问题很简单 在该类的构造函数里让使用者传入使用对象就行了
当然如果要有很多 可以传入arraylist之类的吧 这是最笨的方法了
然后向窗口发消息就行了
当然如果要有很多 可以传入arraylist之类的吧 这是最笨的方法了
然后向窗口发消息就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个问题不知道
我是通过以下的代码获得和设置子窗口的属性:
Form f = new Form();
其中 groupBox2 、tb_send_msg都是f的控件的name
f.Text = "Talking with " + targetname+"...";
f.Controls["groupBox2"].ResumeLayout(false);
f.Controls["groupBox1"].ResumeLayout(false);
f.Controls["groupBox2"].PerformLayout();
f.ResumeLayout(false);
f.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.childrenform_FormClosing);
f.Controls["groupBox2"].Controls["tb_send_msg"].KeyDown += new System.Windows.Forms.KeyEventHandler(this.tb_send_msg_KeyDown);
f.Controls["groupBox2"].Controls["tb_send_msg"].TextChanged += new System.EventHandler(this.tb_send_msg_TextChanged);
childrenforms.Add(f);
f.Show();
TextBox tb = (TextBox)f.Controls["groupBox2"].Controls["tb_send_msg"];
tb.TabIndex = 0;
我是通过以下的代码获得和设置子窗口的属性:
Form f = new Form();
其中 groupBox2 、tb_send_msg都是f的控件的name
f.Text = "Talking with " + targetname+"...";
f.Controls["groupBox2"].ResumeLayout(false);
f.Controls["groupBox1"].ResumeLayout(false);
f.Controls["groupBox2"].PerformLayout();
f.ResumeLayout(false);
f.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.childrenform_FormClosing);
f.Controls["groupBox2"].Controls["tb_send_msg"].KeyDown += new System.Windows.Forms.KeyEventHandler(this.tb_send_msg_KeyDown);
f.Controls["groupBox2"].Controls["tb_send_msg"].TextChanged += new System.EventHandler(this.tb_send_msg_TextChanged);
childrenforms.Add(f);
f.Show();
TextBox tb = (TextBox)f.Controls["groupBox2"].Controls["tb_send_msg"];
tb.TabIndex = 0;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询