如何启用和禁用按钮取决于我是否可以复制?

时间:2013-07-22 16:51:26

标签: c# winforms copy richtextbox

我一直在寻找这个地方,我找不到任何东西,然后我找到了这个网站,我希望我能得到一些帮助。

我有一个名为rtb1的RichTextBox和一个名为btn1的按钮。

我正在制作一个简单的记事本,我需要知道如何禁用按钮,具体取决于我是否可以在我的richTextBox1中复制。我想知道的是,当我可以复制时如何启用我的按钮,但是当我无法复制时禁用它?

感谢。

3 个答案:

答案 0 :(得分:5)

您应该可以订阅RichTextBox.SelectionChanged活动。如果SelectionLength大于零,请启用按钮。

这可能如下所示(在构造函数中添加InitializeComponent之后,或在Form的Load等中添加):

rtb1.SelectionChanged += (sender, args) =>
{
    btn1.Enabled = rtb1.SelectionLength > 0;
};

答案 1 :(得分:2)

我想我可以帮助你,我正在研发一款先进的NotePad,我不得不这样做

在您的撤消按钮中输入此代码:

    private void btn1_Click(object sender, EventArgs e)
    {
        rtb1.Copy();
    }

然后将此代码放入rtb1.TextChanged事件:

    if (rtb1.CanUndo == true)
    {
        btn1.Enabled = true;
    }
    else if (rtb1.CanUndo != true)
    {
        btn1.Enabled = false;
    }

这样,如果您可以撤消,则启用撤消按钮,但如果不能,则禁用它。

希望这会有所帮助!!

答案 2 :(得分:-1)

您可以使用SelectionChanged事件更新文本框,并使用SelectionLength属性了解是否应启用该文本​​框:

rtb1.SelectionChanged += (_, args) =>
{
    btn1.Enabled = rtb1.SelectionLength > 0;
};