C#程序问题

Mar*_*ark 1 c#

private void delete_Click(object sender,EventArgs e){convertedText.Text =""; }

private void copy_Click(object sender, EventArgs e)
{
    if (convertedText.Text != "")
        Clipboard.SetText(convertedText.Text);
        convertedText.Text = Clipboard.GetText();
    else... what to put here?
}
Run Code Online (Sandbox Code Playgroud)

该程序有两个按钮(复制和删除)和一个文本框.如果我单击"复制"按钮,它将从convertedText.Text复制文本,没有任何问题."删除"按钮也可以清除文本框.

但是如果文本框中没有任何内容,"复制"按钮仍会尝试复制它,这会导致意外行为.

那么,我在"else"语句中添加了哪些代码......?我想要的是,如果文本框中没有任何内容,则不会使用剪贴板操作.怎么做?

提前致谢!

Chr*_*ich 6

不要添加一个else子句,只需if单独使用,例如

private void copy_Click(object sender, EventArgs e)
{
    if (!string.IsNullOrEmpty(convertedText.Text))
    {
        Clipboard.SetText(convertedText.Text);
        convertedText.Text = Clipboard.GetText();
    }
}
Run Code Online (Sandbox Code Playgroud)

另外,是否有任何理由将文本框文本复制到剪贴板,然后使用剪贴板文本更新文本框文本?除非我遗漏了某些内容,否则这对文本框没有任何影响,因此代码可以更简单:

private void copy_Click(object sender, EventArgs e)
{
    if (!string.IsNullOrEmpty(convertedText.Text))
        Clipboard.SetText(convertedText.Text);
}
Run Code Online (Sandbox Code Playgroud)

  • 我认为这是因为他正在测试是否有效. (2认同)