C#从Listview控件类访问父窗体的文本框
我创建了自定义Listview,为了便于使用,我需要访问Listview所在表单上的Textbox。目前,我在Listview代码中的每一处都执行以下操作:C#从Listview控件类访问父窗体的文本框,c#,C#,我创建了自定义Listview,为了便于使用,我需要访问Listview所在表单上的Textbox。目前,我在Listview代码中的每一处都执行以下操作: Form frm = FindForm(); var text_ctl = frm.Controls.Find("Textbox1", true).FirstOrDefault() as Control; TextBox Txt = (TextBox)text_ctl; ... Txt.Text="Test"; 但我不想一
Form frm = FindForm();
var text_ctl = frm.Controls.Find("Textbox1", true).FirstOrDefault() as Control;
TextBox Txt = (TextBox)text_ctl;
...
Txt.Text="Test";
但我不想一遍又一遍地重复相同的代码,只想重复一次,就像在OnCreateControl()中一样,并将该引用传递到Listview类中需要它的任何地方。最简单或最优雅的解决方案是什么?提前谢谢你的帮助 我太复杂了,以下是我所做的:
private TextBox _Txt;
public void GetTxt(TextBox ref_txt)
{
_Txt = ref_txt;
}
我在加载表单后运行getText(),然后listview类引用了它
替代使用属性:
private TextBox _Txt;
public TextBox GetTxt
{
get { return _Txt; }
set { _Txt = value; }
}
谢谢你的帮助,特别是桑德普。很抱歉给您带来不便,我有点困惑…将
TextBox
公开如果您不想重复代码,为什么不使用方法?如果这是自定义ListView,您可以添加TextBox类型的属性,在加载表单时,使用表单上的TextBox控件初始化该属性。@SamvelPetrosov,接下来呢?Listviw仍然需要知道控件名。除此之外,我想保存引用一次,然后使用一个变量,否则我将在同一条路径上。@Sandeep,是的,这就是我要寻找的,有任何示例要显示吗?@Sefe,谢谢,我会解决的。但我宁愿照Sandeep的建议做,这和我的建议基本相同。