当前位置:  开发笔记 > 编程语言 > 正文

如何在不改变外观的情况下禁用.net Winforms控件?

如何解决《如何在不改变外观的情况下禁用.netWinforms控件?》经验,为你挑选了0个好方法。

假设我有一个控件,我想阻止它被编辑.

将控件的Enabled属性设置为False将起作用,但控件外观将相应更改,通常是难以读取的黑色灰色字体.当可读性仍然很重要时,这是一个真正的问题.

对于TextBox,有一些明显的修复:

Textbox1.BackColor = Color.White;

要么

Textbox1.ReadOnly= true; // instead of setting Enabled to false

但不幸的是,这不适用于每个控件(例如单选按钮)

另一种解决方案是让Enabled属性不受影响,并订阅像这样的焦点事件(但这不是一个非常优雅的解决方案)

    this.Textbox1.Enter += new System.EventHandler(this.Textbox1_Enter);

    private void Textbox1_Enter(object sender, EventArgs e)
    {
      Textbox1.FindForm().ActiveControl = null;
    }

你有没有看到其他方法来处理这个问题?(我的意思是现实世界的解决方案;当然,您可以捕获控件的屏幕截图并在控件上显示副本...:p)

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有