TextBoxBase.SelectionStart プロパティ
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Dim instance As TextBoxBase Dim value As Integer value = instance.SelectionStart instance.SelectionStart = value
/** @property */ public int get_SelectionStart () /** @property */ public void set_SelectionStart (int value)
テキスト ボックスで選択されているテキストの開始点。


コントロールでテキストが選択されていない場合、このプロパティは新しいテキストの挿入位置を示します。このプロパティがコントロール内のテキストの長さを超えた位置に設定されている場合、開始点は最後の文字の後ろになります。テキスト ボックス コントロールでテキストが選択されているとき、このプロパティを変更すると SelectionLength プロパティの値が小さくなる場合があります。SelectionStart プロパティで示される位置より後ろにあるコントロール内の残りのテキストが SelectionLength プロパティの値未満の場合、SelectionLength プロパティの値は自動的に小さくなります。SelectionStart プロパティの値によって、SelectionLength プロパティの値が大きくなることはありません。
![]() |
---|
SelectionStart をカレットのテキスト ボックス内での移動先の位置に設定し、SelectionLength プロパティの値を 0 に設定すると、プログラムによってテキスト ボックス内でカレットを移動できます。カレットを移動するには、テキスト ボックスにフォーカスがあることが必要です。 |

派生クラス TextBox を使用するコード例を次に示します。切り取り、コピー、貼り付け、元に戻すなどの各操作を実行する MenuItem オブジェクトの Click イベント ハンドラを用意します。この例では、textBox1 という名前の TextBox コントロールが作成されている必要があります。
Private Sub Menu_Copy(sender As System.Object, e As System.EventArgs) ' Ensure that text is selected in the text box. If textBox1.SelectionLength > 0 Then ' Copy the selected text to the Clipboard. textBox1.Copy() End If End Sub Private Sub Menu_Cut(sender As System.Object, e As System.EventArgs) ' Ensure that text is currently selected in the text box. If textBox1.SelectedText <> "" Then ' Cut the selected text in the control and paste it into the Clipboard. textBox1.Cut() End If End Sub Private Sub Menu_Paste(sender As System.Object, e As System.EventArgs) ' Determine if there is any text in the Clipboard to paste into the text box. If Clipboard.GetDataObject().GetDataPresent(DataFormats.Text) = True Then ' Determine if any text is selected in the text box. If textBox1.SelectionLength > 0 Then ' Ask user if they want to paste over currently selected text. If MessageBox.Show("Do you want to paste over current selection?", _ "Cut Example", MessageBoxButtons.YesNo) = DialogResult.No Then ' Move selection to the point after the current selection and paste. textBox1.SelectionStart = textBox1.SelectionStart + _ textBox1.SelectionLength End If End If ' Paste current text in Clipboard into text box. textBox1.Paste() End If End Sub Private Sub Menu_Undo(sender As System.Object, e As System.EventArgs) ' Determine if last operation can be undone in text box. If textBox1.CanUndo = True Then ' Undo the last operation. textBox1.Undo() ' Clear the undo buffer to prevent last action from being redone. textBox1.ClearUndo() End If End Sub
private void Menu_Copy(System.Object sender, System.EventArgs e) { // Ensure that text is selected in the text box. if(textBox1.SelectionLength > 0) // Copy the selected text to the Clipboard. textBox1.Copy(); } private void Menu_Cut(System.Object sender, System.EventArgs e) { // Ensure that text is currently selected in the text box. if(textBox1.SelectedText != "") // Cut the selected text in the control and paste it into the Clipboard. textBox1.Cut(); } private void Menu_Paste(System.Object sender, System.EventArgs e) { // Determine if there is any text in the Clipboard to paste into the text box. if(Clipboard.GetDataObject().GetDataPresent(DataFormats.Text) == true) { // Determine if any text is selected in the text box. if(textBox1.SelectionLength > 0) { // Ask user if they want to paste over currently selected text. if(MessageBox.Show("Do you want to paste over current selection?", "Cut Example", MessageBoxButtons.YesNo) == DialogResult.No) // Move selection to the point after the current selection and paste. textBox1.SelectionStart = textBox1.SelectionStart + textBox1.SelectionLength; } // Paste current text in Clipboard into text box. textBox1.Paste(); } } private void Menu_Undo(System.Object sender, System.EventArgs e) { // Determine if last operation can be undone in text box. if(textBox1.CanUndo == true) { // Undo the last operation. textBox1.Undo(); // Clear the undo buffer to prevent last action from being redone. textBox1.ClearUndo(); } }
private: void Menu_Copy( System::Object^ /*sender*/, System::EventArgs^ /*e*/ ) { // Ensure that text is selected in the text box. if ( textBox1->SelectionLength > 0 ) { // Copy the selected text to the Clipboard. textBox1->Copy(); } } void Menu_Cut( System::Object^ /*sender*/, System::EventArgs^ /*e*/ ) { // Ensure that text is currently selected in the text box. if ( !textBox1->SelectedText->Equals( "" ) ) { // Cut the selected text in the control and paste it into the Clipboard. textBox1->Cut(); } } void Menu_Paste( System::Object^ /*sender*/, System::EventArgs^ /*e*/ ) { // Determine if there is any text in the Clipboard to paste into the text box. if ( Clipboard::GetDataObject()->GetDataPresent( DataFormats::Text ) == true ) { // Determine if any text is selected in the text box. if ( textBox1->SelectionLength > 0 ) { // Ask user if they want to paste over currently selected text. if ( MessageBox::Show( "Do you want to paste over current selection?", "Cut Example", MessageBoxButtons::YesNo ) == ::DialogResult::No ) { // Move selection to the point after the current selection and paste. textBox1->SelectionStart = textBox1->SelectionStart + textBox1->SelectionLength; } } // Paste current text in Clipboard into text box. textBox1->Paste(); } } void Menu_Undo( System::Object^ /*sender*/, System::EventArgs^ /*e*/ ) { // Determine if last operation can be undone in text box. if ( textBox1->CanUndo == true ) { // Undo the last operation. textBox1->Undo(); // Clear the undo buffer to prevent last action from being redone. textBox1->ClearUndo(); } }
private void Menu_Copy(Object sender, System.EventArgs e) { // Ensure that text is selected in the text box. if (textBox1.get_SelectionLength() > 0) { // Copy the selected text to the Clipboard. textBox1.Copy(); } } //Menu_Copy private void Menu_Cut(Object sender, System.EventArgs e) { // Ensure that text is currently selected in the text box. if (!(textBox1.get_SelectedText().Equals(""))) { // Cut the selected text in the control and paste it //into the Clipboard. textBox1.Cut(); } } //Menu_Cut private void Menu_Paste(Object sender, System.EventArgs e) { // Determine if there is any text in the Clipboard to paste // into the text box. if(Clipboard.GetDataObject().GetDataPresent(DataFormats.Text) == true) { // Determine if any text is selected in the text box. if (textBox1.get_SelectionLength() > 0) { // Ask user if they want to paste over currently selected text. if (MessageBox.Show("Do you want to paste over current" + "selection?","Cut Example", MessageBoxButtons.YesNo).Equals(get_DialogResult().No)) { // Move selection to the point after the current // selection and paste. textBox1.set_SelectionStart(textBox1.get_SelectionStart() + textBox1.get_SelectionLength()); } } // Paste current text in Clipboard into text box. textBox1.Paste(); } } //Menu_Paste private void Menu_Undo(Object sender, System.EventArgs e) { // Determine if last operation can be undone in text box. if (textBox1.get_CanUndo() == true) { // Undo the last operation. textBox1.Undo(); // Clear the undo buffer to prevent last action from being redone. textBox1.ClearUndo(); } } //Menu_Undo

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- TextBoxBase.SelectionStart プロパティのページへのリンク