1

現在、私のWPFアプリには、読み取り専用の複数のテキストボックスがあります。したがって、ユーザーはテキストを選択してからCtrl++を選択できC CtrlますV。しかし、私はこのタスクをもっと簡単にしたいです:

  • ユーザーがテキストボックス(またはテキストを表示する別のコントロール)を左クリックすると、すべてのテキストがクリップボードにコピーされます

ただし、ユーザーは以前と同じようにテキストを選択することができます

XAMLスタイルでそれを行うためのアイデアはありますか?


解決しました。選択したテキストをクリップボードに自動的にコピーします。テキストボックスをダブルクリックするとすべてのテキストが選択されることを知っているので、ユーザーはダブルクリックするだけでクリップボード内のすべてのテキストをコピーできます。

4

2 に答える 2

2

マウスオーバーアニメーションも。マウスオーバーアニメーションを取得し、マウスがボタンの境界内にあるときにポインタを変更します。マウスオーバーイベントに関するリンクは次のとおりです。

http://dotnetdud.blogspot.com/2009/01/how-to-use-c-mouseover-events-in.html

テキストボックスのmouseclickイベントでクリップボードデータを設定する方法は次のとおりです。

private void textbox_mouseClick(object sender, EventArgs e)
    {
    if (((TextBox)sender).Text == string.Empty)
        return;
    else
       {
        try
         {
        Clipboard.SetText(((TextBox)sender).Text);
         }
        catch (Exception ex)
         {
           // Do something w/ exception 
         }
       }
    }
于 2012-06-01T21:08:55.997 に答える
1

クリップボードの問題については、onclickハンドラーを作成し、C#に組み込まれているクリップボード機能を使用できます(C#でデータをクリップボードにコピーする方法)。

ツールチップについては、onloadハンドラーとC#の組み込みツールチップ機能を使用する必要があります。

System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip();
ToolTip1.SetToolTip(this.textBox1, "Hello");

アニメーションについてはあまり行っていませんが、私が間違っていなければ、オンホバーハンドラーを設定することもできます。(編集:MouseHoverイベントハンドラーはおそらくあなたが探しているものです。)

編集:基本的に、イベントハンドラーはあなたの友達です。

于 2012-06-01T21:01:29.853 に答える