.net - 将一个表单实例的 TextBox 控件的更改值更新为所有实例
问题描述
我有一个父窗体和子窗体(都是 windows 窗体)。在父表单上,我有一个TabControl
带有 2 个选项卡的选项卡,每个选项卡都需要添加一个子表单。
在一个子表单上,我有一个TextBox
作为初始值的值。我想要的只是当我在子窗体的一个实例上更改 TextBox 值时,它也需要更新其他实例。
我设法在表单上添加了两个实例,
Private Sub Parent_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim ch As New Child
Dim ch1 As New Child
ch.Top = False
ch.TopLevel = False
ch1.Top = False
ch1.TopLevel = False
Panel1.Controls.Add(ch1)
ch1.Show()
Panel2.Controls.Add(ch)
ch.Show()
End Sub
但不知道在一个实例上更改时如何更改另一个实例上的值。
解决方案
您可以使用数据绑定到应用程序设置或数据绑定到任何其他支持两种方式数据绑定的类的单个实例:
打开Settings.settings文件。
如果您选择显示解决方案资源管理器工具栏中的所有文件,它位于解决方案资源管理器中的“我的项目”节点下。您也可以通过右键单击项目节点、选择属性并选择设置选项卡来打开它。添加一个新的设置属性并将其命名,例如Setting1并让类型为字符串并根据需要分配一个默认值。
- 在设计师处打开您的表格。
- 选择要
TextBox
在其中显示值的位置。 - 在Properties Window中,展开(Application Settings)并单击(PropertyBinding)...前面的。
- 在“应用程序设置”窗口中,选择
Text
属性并作为值,选择您在步骤 2 中创建的设置属性。 - 如果您有多个要在其中显示值的表单,请对每个表单重复步骤 3 到 6。
当您运行应用程序时,当您键入任何TextBox
绑定到设置值的控件时,所有绑定的文本框都会立即更新。
推荐阅读
- mysql - 将后端代码(nodejs)与我的前端代码(角度框架)连接起来
- python-3.x - 无法直接运行 celery 任务,但仍然可以通过 Python 控制台运行
- python-3.7 - 如何通过将同一索引处的所有元素合并在一起,从旧的嵌套列表中创建一个新的嵌套列表
- python - 可视化 h2o 随机森林模型树时的类型错误
- python - 将图像从 python 传输到 C++ 并返回
- c# - 使用反射将未知对象转换为泛型类
- java - 对自定义 javafx listview 单元进行故障排除
- python - 为什么像:chrome://downloads 或 chrome://apps 这样的本地 chrome-url 在无头模式下不起作用?
- c# - 如何从 XML 文件中删除对象
- php - imagewebp 函数失败但不产生任何错误