首页 > Windows开发 > 详细

C#一个窗体读取另一个窗体上控件的内容

时间:2022-05-27 20:26:17      阅读:5      评论:0      收藏:0      [点我收藏+]

C#和VB有一个很大的区别,VB可以在窗体2直接调用窗体1的控件,但是C#却不能,可能是出于安全考虑,但同时也给使用带来了极大的不便。

于是查阅很多资料,加之理解,总结于下:

目的:窗体2取值窗体1控件的内容:

首先,在窗体1定义如下控件属性:

        public FlexCell.Grid Grid  //FlexCell是一款收费控件
        {
            get
            {
                return this.gd_SPEC;//gd_SPEC是自定义控件名称
            }
        }

在窗体1事件中,显示窗体2

        private void 参数预览ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            SpecView svForm = new SpecView(this);
            svForm.ShowDialog();
        }

 

在窗体2中,定义窗体名称:

        private  FormMain fm;
        public SpecView(FormMain f) //FormMain是主窗体,SpecView是副窗体
        {
            InitializeComponent();
            fm = f;
        }

然后就可以直接调用窗体1的控件属性了,调用方式:

           string s =fm.Grid.Cell(2,2).Text;
            MessageBox.Show(s);

虽然复杂了一点,但是还是能用的,总比设置静态变量要好用。

C#一个窗体读取另一个窗体上控件的内容

原文:https://www.cnblogs.com/Fpack/p/15334859.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!