如何在禁用的TextBox上启用复制粘贴

尼尔·潘

我为赢表上的“标题文本”框设置了两种方式的数据绑定,如下所示:

txtTitle.DataBindings.Add("Enabled", Person, "Editable", true, DataSourceUpdateMode.OnPropertyChanged);

不幸的是,当文本被禁用时,用户无法复制文本。是否有任何变通办法来启用COPY / PASTE保留两种方式的数据绑定?

测量

文本框控件具有ReadOnly属性,您可以将其设置为true。绑定仍应更新。

选项1:使用NotifyPropertyChanged创建一个类

创建一个包含将要绑定的数据的类:

public class Book : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;

    private string name;
    [Bindable(true)]
    public string Name
    {
        get { return name; }
        set
        {
            name = value; 
            if (PropertyChanged != null) 
                PropertyChanged(this, 
                                new PropertyChangedEventArgs("Name"));
        }
    }

    public Book(string name)
    {
        Name = name;
    }
}

创建此类的实例并绑定它:

public Book TheBook { get; set; }

public Form1()
{
    InitializeComponent();

    TheBook = new Book("");
    textBox1.DataBindings.Add(new Binding("Text", 
                                          TheBook,
                                          "Name",
                                          true,
                                          DataSourceUpdateMode.OnPropertyChanged, 
                                          ""));
}

更改属性,它将更新:

private void button1_Click(object sender, EventArgs e)
{
    TheBook.Name = "Different";
}

选项2:创建一个自定义控件以将Enabled屏蔽为ReadOnly

创建以下自定义控件,并将其用于绑定到Enabled:

public partial class DBTextBox : TextBox
{
    private bool enabled;
    public new bool Enabled
    {
        get { return enabled; }
        set
        {
            enabled = value;
            base.Enabled = true;
            ReadOnly = !enabled;
        }
    }

    public DBTextBox()
    {
        InitializeComponent();
    }
}

每当该DBTextBox设置为Enabled = false时,它将改为ReadOnly。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在禁用的TextBox上启用复制粘贴

来自分类Dev

如何在xterm中启用剪切或复制粘贴

来自分类Dev

如何在xterm中启用剪切或复制粘贴

来自分类Dev

如何在EditText中启用“复制粘贴”菜单?

来自分类Dev

如何在Edittext中禁用复制粘贴按钮

来自分类Dev

如何在chroot的Java应用程序内启用快捷方式(复制粘贴)?

来自分类Dev

NSTextView:如何禁用单击但仍允许选择复制粘贴?

来自分类Dev

如何在Ubuntu上的MATLAB中重新映射复制粘贴键盘快捷键?

来自分类Dev

为扩展面板启用复制粘贴

来自分类Dev

如何在vmware中的主机和虚拟机之间启用复制粘贴,虚拟机是Ubuntu

来自分类Dev

如何在VBA循环中复制粘贴值?

来自分类Dev

如何在Ubuntu Touch中复制粘贴?

来自分类Dev

如何在NSViewController中访问复制粘贴功能

来自分类Dev

如何在 tinymce 中禁用复制/粘贴

来自分类Dev

在 chrome 上复制粘贴钱

来自分类Dev

excel VBA 上的复制粘贴列

来自分类Dev

如何避免在gradle中复制粘贴?

来自分类Dev

如何复制粘贴已经存在的文件?

来自分类Dev

如何使复制粘贴遵循相同的模式

来自分类Dev

复制粘贴选项在 ubuntu 20.10 中被禁用

来自分类Dev

禁用所有键,但复制粘贴组合

来自分类Dev

从Excel复制粘贴

来自分类Dev

如何在emacs中复制粘贴而没有源字体锁定?

来自分类Dev

如何在CUDA中正确避免单/双精度的复制粘贴方法

来自分类Dev

如何在不复制粘贴其余功能的情况下获取函数的多个版本

来自分类Dev

如何在不浪费缩写src链接的情况下复制粘贴整个HTML页面?

来自分类Dev

如何在vi编辑器中复制粘贴内容

来自分类Dev

如何在XFCE中禁用新的复制/粘贴保护?

来自分类Dev

使用对象在Excel上复制粘贴时出错

Related 相关文章

  1. 1

    如何在禁用的TextBox上启用复制粘贴

  2. 2

    如何在xterm中启用剪切或复制粘贴

  3. 3

    如何在xterm中启用剪切或复制粘贴

  4. 4

    如何在EditText中启用“复制粘贴”菜单?

  5. 5

    如何在Edittext中禁用复制粘贴按钮

  6. 6

    如何在chroot的Java应用程序内启用快捷方式(复制粘贴)?

  7. 7

    NSTextView:如何禁用单击但仍允许选择复制粘贴?

  8. 8

    如何在Ubuntu上的MATLAB中重新映射复制粘贴键盘快捷键?

  9. 9

    为扩展面板启用复制粘贴

  10. 10

    如何在vmware中的主机和虚拟机之间启用复制粘贴,虚拟机是Ubuntu

  11. 11

    如何在VBA循环中复制粘贴值?

  12. 12

    如何在Ubuntu Touch中复制粘贴?

  13. 13

    如何在NSViewController中访问复制粘贴功能

  14. 14

    如何在 tinymce 中禁用复制/粘贴

  15. 15

    在 chrome 上复制粘贴钱

  16. 16

    excel VBA 上的复制粘贴列

  17. 17

    如何避免在gradle中复制粘贴?

  18. 18

    如何复制粘贴已经存在的文件?

  19. 19

    如何使复制粘贴遵循相同的模式

  20. 20

    复制粘贴选项在 ubuntu 20.10 中被禁用

  21. 21

    禁用所有键,但复制粘贴组合

  22. 22

    从Excel复制粘贴

  23. 23

    如何在emacs中复制粘贴而没有源字体锁定?

  24. 24

    如何在CUDA中正确避免单/双精度的复制粘贴方法

  25. 25

    如何在不复制粘贴其余功能的情况下获取函数的多个版本

  26. 26

    如何在不浪费缩写src链接的情况下复制粘贴整个HTML页面?

  27. 27

    如何在vi编辑器中复制粘贴内容

  28. 28

    如何在XFCE中禁用新的复制/粘贴保护?

  29. 29

    使用对象在Excel上复制粘贴时出错

热门标签

归档