我创建了自定义Listview,并且对于用法,我需要在Listview所在的同一个Form上访问Textbox。目前我在Listview代码中随处可见的是:
Form frm = FindForm();
var text_ctl = frm.Controls.Find("Textbox1", true).FirstOrDefault() as Control;
TextBox Txt = (TextBox)text_ctl;
...
Txt.Text="Test";
但是我不是一遍又一遍地重复相同的代码,而是只想做一次,比如在OnCreateControl()中,并将该引用传递给我在Listview类中需要它的所有地方。什么是最简单或最优雅的解决方案?提前感谢您的帮助!
答案 0 :(得分:0)
我太复杂了,这就是我所做的:
private TextBox _Txt;
public void GetTxt(TextBox ref_txt)
{
_Txt = ref_txt;
}
我在Form加载后运行 GetTxt(),然后listview类引用它。
替代使用属性:
private TextBox _Txt;
public TextBox GetTxt
{
get { return _Txt; }
set { _Txt = value; }
}
感谢您的帮助,特别是Sandeep。抱歉给您带来任何不便,我有点困惑......