在窗体外部改变窗体内部控件属性

 今天在CSDN论坛上瞎逛,看见有人问这个问题,如何从一个窗体的外部访问窗体内部控件(比如一个按钮)的相关属性。我第一反应是用一个写一个类,这个类继承这个窗体,后来发现不行,因为窗体中的按钮被申明为private的,即使继承了也访问不了父类成员。其实,窗体就是一个类,类有继承,知道了这一点,就很好办了 ,比如最简单的,就是把按钮申明为public或者internal或者protected,这样在其子类中就可以访问父类中的按钮了。但是这样不好,扩大了成员变量的作用范围,可能会导致一些意想不到的不安全因素,我们可以用以下几句话来代替,能达到同样的效果:

            Form1 frm = new Form1();
           
            Control[] rst = frm .Controls.Find("button1", false);
            Button btn = (Button)rst[0];
            btn.Text = "newName";
            MessageBox.Show(btn.Text);

这样,名称为button1的按钮名称就被改为newName了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值