c# - C#从Listview控件类访问父窗体的文本框
问题描述
我创建了自定义 Listview,并且为了使用,我需要访问 Listview 所在表单上的文本框。目前我在我的 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 类中需要它的任何地方。什么是最简单或最优雅的解决方案?提前感谢您的帮助!
解决方案
我太复杂了,这就是我所做的:
private TextBox _Txt;
public void GetTxt(TextBox ref_txt)
{
_Txt = ref_txt;
}
我在表单加载后运行GetTxt(),然后 listview 类引用了它。
替代使用属性:
private TextBox _Txt;
public TextBox GetTxt
{
get { return _Txt; }
set { _Txt = value; }
}
感谢您的帮助,特别是 Sandeep。很抱歉给您带来不便,我有点困惑......
推荐阅读
- python - 通过变量选择 ETL 表
- python - 如何在 Python 2.7 中获取我所有的目录和子目录的完整路径
- google-app-maker - 尽管数据源中要求表单提交空值(Google App Maker)
- google-schemas - 填写Email Markup注册后无反应
- css - 响应式媒体查询品牌标志
- python - 在bash中检查scrapy结果
- javascript - 另一个函数内的离子调用函数(JS服务)
- java - 强制 Hikari/Hibernate 关闭陈旧(泄露?)的连接
- android - 我们可以为 SQLLite 保留一个公共存储库,Android 应用程序可以在其中执行 CRUD 操作吗?
- mysql - 两个请求之一使我的服务器崩溃。有人知道吗?MYSQL