2

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

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

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

谢谢。

4

3 回答 3

5

您应该能够订阅该RichTextBox.SelectionChanged事件。SelectionLength如果大于零,则启用您的按钮。

这可能如下所示(InitializeComponent在您的构造函数或表单的加载等中添加之后):

rtb1.SelectionChanged += (sender, args) =>
{
    btn1.Enabled = rtb1.SelectionLength > 0;
};
于 2013-07-22T16:54:20.203 回答
2

我想我可以帮助你,我正在开发一个高级记事本,我不得不这样做

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

    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;
    }

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

希望这可以帮助!!

于 2013-07-22T16:55:49.660 回答
-1

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

rtb1.SelectionChanged += (_, args) =>
{
    btn1.Enabled = rtb1.SelectionLength > 0;
};
于 2013-07-22T16:55:24.657 回答