[C#][Windows Formsアプリ][TextBox] Cut/Copy/Paste メソッドで、切り取り、コピー、貼り付けをする

スポンサーリンク

はじめに

TextBoxで文字列を扱う際に便利なのが、Copy()Cut()Paste() メソッドです。
これらを使うと、ユーザーのコピー&ペースト操作をプログラムから制御できます。

 

各メソッドの概要

  • Copy() … 選択されている文字列をクリップボードにコピーする(TextBox内の文字はそのまま)
  • Cut() … 選択されている文字列をクリップボードにコピーし、TextBox内からは削除する
  • Paste() … クリップボードの文字列をカーソル位置または選択範囲に貼り付ける
例:TextBoxに「Hello World」と入力し「World」を選択した状態で
textBox1.Copy(); → クリップボードに「World」がコピーされる(TextBox内は変化なし)
textBox1.Cut(); → 「World」がコピーされ、TextBox内から削除される
textBox1.Paste(); → カーソル位置にクリップボードの文字列が貼り付けられる

 

基本の使い方

コピー

textBox1.Copy();

切り取り

textBox1.Cut();

貼り付け

textBox1.Paste();

 

実用例:コピー・切り取り・貼り付けボタン

using System;
using System.Windows.Forms;

namespace CopyCutPasteSample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            textBox1.Multiline = true;
        }

        private void buttonCopy_Click(object sender, EventArgs e)
        {
            textBox1.Copy();
        }

        private void buttonCut_Click(object sender, EventArgs e)
        {
            textBox1.Cut();
        }

        private void buttonPaste_Click(object sender, EventArgs e)
        {
            textBox1.Paste();
        }
    }
}

この例では、ボタンを押すと選択された文字列をコピー・切り取り・貼り付けできます。
ユーザー操作をメニューやショートカットに加えて、ボタンでも提供したいときに便利です。

 

注意点

  • コピーや切り取りは、選択範囲がないと何も起きない
  • 貼り付けは、選択範囲がある場合はその部分を置き換える
  • クリップボードに文字列以外(画像など)がある場合は無視される
  • セキュリティ上、機密情報の自動コピーは避けるべき

 

まとめ

  • Copy() … 選択範囲をコピー
  • Cut() … 選択範囲をコピーして削除
  • Paste() … クリップボードの内容を貼り付け

これらのメソッドを使えば、標準のショートカット操作に加えて、プログラムで直感的にコピー&ペースト機能を提供できます。

 

Please follow and like us:

コメント

タイトルとURLをコピーしました