【问题标题】:Sending Data and accessing components between multiple forms in Visual Studio在 Visual Studio 中的多个表单之间发送数据和访问组件
【发布时间】:2011-11-22 09:25:23
【问题描述】:

我正在处理一个共有 6 个表单的项目。一个表单是主表单,另外 5 个是其选项菜单的一部分。选项菜单上的表单用于更改设置和修改主表单中使用的数据。

例如,用户单击更改设置的选项,弹出带有当前设置的新表单,然后用户可以修改设置并应用更改。当用户返回主窗体时,应更改设置。 我想做的是将当前设置数据从主窗体发送到新窗体的组件中,在用户应用更改并关闭新窗体后,发送数据并更新主窗体的组件。

我正在尝试做的一个特定情况是将数据从在主窗体中创建和初始化的 arrayList 放入另一个窗体上的列表框中。我一直在尝试像这个例子这样的代码:

string data = somestring;
newForm.Controls[2].Add(data);

但我似乎无法访问 newForm.Controls[2] 的 Add 和 Insert 等方法,因此代码失败。

我的另一个想法是在新表单中创建一个方法并将数据发送给它,但是该方法不被识别为存在于主表单中。我收到此错误:

'System.Windows.Forms.Form' does not contain a definition for 'AddToList'

【问题讨论】:

    标签: c# winforms visual-studio components


    【解决方案1】:

    要发送数据,您可以在选项表单的构造函数中接收参数。

    例如

    class OptionForm : Form
    {
        public OptionForm(string data)
        {
            //put your data in to the form
        }
    }
    

    然后,获取数据的最简单方法是在 OptionsForm 类中包含公共属性,其中包含您需要的任何信息。

    事实上,对于公共属性,您也可以这样设置属性。

    希望这就是你的意思

    【讨论】:

    • 构造方法在初始化表单时非常适合发送数据。但是对于公共属性,您的意思是声明类似的东西。 “公共字符串数据;”在课堂上?
    • 是的,在主窗体中等待对话框关闭,然后将数据读回
    猜你喜欢
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    • 2019-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-17
    • 1970-01-01
    相关资源
    最近更新 更多