0

クリップボード編集プログラムを作成していますが、[コピー] ボタンを使用するとエラーが発生しました。クリップボードのコンテンツへのコピー元のテキスト ボックスが null の場合、「ArgumentNullException は処理されませんでした」というメッセージが表示されます。これは、テキストのコピー元の TextBox が空であるためです。TextBox が空の場合、ボタンが無効になるメソッドを書きたいと思います。このボタンのコードは次のとおりです。

 // Copies the text in the text box to the clipboard.
    private void copyButton_Click(object sender, EventArgs e)
    {
        Clipboard.SetText(textClipboard.Text);
    }

ありとあらゆる助けをいただければ幸いです。詳細が不足している場合は、追加できるようにお知らせください。

4

3 に答える 3

3

最初にボタンを無効に設定する必要があります。

次に、そのコードを使用して、テキスト ボックスの変更を検出できます。

    private void textClipboard_TextChanged(object sender, EventArgs e)
    {
        copyButton.Enabled = textClipboard.Text.Length > 0;
    }
于 2013-10-08T00:19:45.263 に答える
1

最初に button.enabled を false に設定し、KeyUp イベントをテキスト ボックスに追加できます。

    private void textClipboard_KeyUp(object sender, KeyEventArgs e)
    {
        copyButton.Enabled = !string.IsNullOrEmpty(textBox1.Text);
    }
于 2013-10-08T00:52:53.850 に答える