0

C# を使用してアプリケーションを開発しています。テキストを含むラベルを持つウィンドウがあります。どこからでも何かをコピーするようにコピーしたい。しかし、ウィンドウからラベルをコピーすることはできません。ラベルのテキストをコピーするにはどうすればよいですか???

4

3 に答える 3

2

ラベルでこれを行うことはできません。

ラベルとハイライトの選択をシミュレートするために、テキストボックスでこれを行うことができます。

TextBox.ReadOnly プロパティ

ReadOnly プロパティを使用して、TextBox コントロールの内容を変更できるかどうかを指定します。このプロパティを true に設定すると、ユーザーは値を入力したり、既存の値を変更したりできなくなります。

のようなもの

TextBox1.Text = "Hello, Select Me";
TextBox1.ReadOnly = true;
TextBox1.BorderStyle = 0;
TextBox1.BackColor = this.BackColor;
TextBox1.TabStop = false;
于 2013-06-14T16:16:05.907 に答える
1

ラベルにメソッドを追加して、クリックされたときにラベルがフォーカスされるようにします。

private void label1_Click(object sender, EventArgs e)
{
    label1.Focus();
}

フォームの「KeyPreview」プロパティを「true」に設定して、押されたキーを処理します。keydown イベントを処理するメソッドも追加しました。

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if (label1.ContainsFocus && e.Control && e.KeyCode == Keys.C)
        Clipboard.SetText(label1.Text);
}

これは、「KeyPreview」プロパティが false の場合でも機能するはずです。フォームがすべてのキー イベントを受け取る場合、このプロパティは true です。フォームで現在選択されているコントロールがキー イベントを受け取る場合は false。デフォルトはfalseです

于 2013-06-14T16:13:38.483 に答える