m0_59342845 2023-10-18 15:35 采纳率: 81%
浏览 8
已结题

winform中跨窗体对控件进行传值

winform中跨窗体对控件进行传值,不使用窗体.show();数值不显示。能不能实现点击form按钮,form1不立即显示,但form1的textbox上显示数值,之后通过按钮打开form1能看见。

//form窗体按钮事件
        private void button1_Click(object sender, EventArgs e)
        {
            Form1 form1 = new Form1();
            form1.textBox1.Text = "111";//对form1的textbox传入111
            form1.show();//不加这句不显示数值!

        }

img

  • 写回答

3条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-10-18 18:17
    关注

    【以下回答由 GPT 生成】

    你可以使用构造函数或者公共属性来传递值给目标窗体,并在目标窗体的Load事件中进行赋值操作。以下是一种可能的解决方案:

    // 源窗体按钮事件
    private void button1_Click(object sender, EventArgs e)
    {
        Form1 form1 = new Form1("111");   // 使用构造函数传递值
        form1.Show();   // 显示目标窗体
    }
    
    // 目标窗体代码
    private string value;   // 目标窗体的属性用于存储传递的值
    
    public Form1(string value)
    {
        InitializeComponent();
        this.value = value;   // 将传递的值赋值给目标窗体的属性
    }
    
    private void Form1_Load(object sender, EventArgs e)
    {
        textBox1.Text = value;   // 在Load事件中将属性的值赋给文本框
    }
    

    这样,当源窗体的按钮被点击时,会创建目标窗体的实例并传递一个值。然后,目标窗体的Load事件会触发,在这个事件中,将属性的值赋给文本框。这样就可以实现在目标窗体中显示传递的值,并且不需要立即显示目标窗体。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月9日
  • 已采纳回答 11月1日
  • 创建了问题 10月18日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表