在表格1的方法中使用表格2上的组件[英] Use components on Form 2 in methods of Form1

问题描述

我在一个 Windows 窗体应用程序中创建了 2 个窗体.

我在 Form2 上放置了文本框和组合框.我想在 Form1 的方法中调用组合框和文本框.基本上,我想在Form 1的方法中使用Form 2上的组件.

如何在 Form 1 的方法中调用 Form 2 上的组件?有可能吗?

推荐答案

"不要"就是简单的答案.

可以,但强烈建议不要这样做.

如果要访问 Form2 上控件的内容,则使用公共属性间接获取和设置它们.这样Form2的设计就不会一直一成不变.

如果您想在两个不同的表单上使用同一组控件,则将它们创建为 UserControl(具有适当的公共属性)并在每个表单上使用该控件的实例.

这是关于表单协作的热门问题.最健壮的解决方案是在表单类中实现适当的接口,并传递接口引用而不是对 Form 的"整个实例"的引用.有关更多详细信息,请参阅我过去的解决方案:如何以两种形式复制列表框之间的所有项目[^].

—SA

是的,有可能
看例子

Form2 f = new Form2();f.显示();Control[] c= f.Controls.Find("comboBox1", );组合框 cb = (组合框)c[0];cb.Width = 500;

本文地址:https://www.itbaoku.cn/post/1394993.html

相关标签/搜索