2

助けが必要です。Google で一日中探していますが、これまでのところ、私がやろうとしていることに関する記事は見つかりませんでした。私のIDEとしてSharpDevelopを使用してC#で小さなプロジェクトに取り組んでいます.私のプロジェクトのユーザーインターフェイスには、いくつかのラベルがあり、そのうちの11はフィールドが何であるかを示しています(つまり、「名前:」、「電子メール:」)検索ボタンを押してキーワードを入力すると、DB からの情報が自動的に入力されます。

私がする必要があるのは、すべてのラベルをクリップボードにコピーして、コピーした情報を別のプログラムで使用できるようにすることです。Excel でこれとまったく同じアプリケーションを使用していて、必要なことは実行できますが、もう少し汎用性が必要なので、決定しました。 C# で試してみましょう。

C#でこれを達成する方法はありますか? 私は ListView と DataGrids に出くわし、ListView から情報をコピーできるように、ラベルを ListView にコピーすることを考えました (代わりに、可能であれば)。

4

2 に答える 2

1

すべての出力コントロールをパネルに配置 (または最適と思われる方法で識別) すると、次のコードを使用できます。

StringBuilder clipboard = new StringBuilder();
foreach (Label label in outputPanel.Controls.OfType<Label>())
    clipboard.Append(label.Text + "\n");

Clipboard.SetText(clipboard.ToString());

アップデート

一連のチェック ボックスの値をコピーするだけで十分だと理解していました。コントロールのコレクションを繰り返し処理するのではなく、手動で値をクリップボードに追加する場合に必要なことは、まさにそれです。

private void SetClipboard()
{
    StringBuilder clipboard = new StringBuilder();
    clipboard.Append(label1.Text + "\n");
    clipboard.Append(label2.Text + "\n");
    clipboard.Append(textBox1.Text);
    Clipboard.SetText(clipboard.ToString());
}
于 2013-01-29T21:29:41.327 に答える