.NET 框架类库   TextBoxBase.SelectionStart 属性  [C#]请参见
TextBoxBase 类 | TextBoxBase 成员 | System.Windows.Forms 命名空间 
要求
平台: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows .NET Server family
语言
C#C++JScriptVisual Basic全部显示
获取或设置文本框中选定的文本起始点。[Visual Basic]
Public Property SelectionStart As Integer
[C#]
public int SelectionStart {get; set;}
[C++]
public: __property int get_SelectionStart();
public: __property void set_SelectionStart(int);
[JScript]
public function get SelectionStart() : int;
public function set SelectionStart(int);
属性值
文本框中选定的文本的起始位置。异常
异常类型 条件 
ArgumentException 分配给该属性的值小于零。 备注
如果控件中没有选择任何文本,则此属性指示新文本的插入点。如果将此属性设置为超出了控件中文本长度的位置的值,则选定文本的起始位置将放在最后一个字符之后。如果在文本框控件中选择了文本,则更改此属性可能会减小 SelectionLength 属性的值。如果控件中在 SelectionStart 属性所指示的位置之后的剩余文本小于 SelectionLength 属性的值,则 SelectionLength 属性的值会自动减小。SelectionStart 属性的值从不会导致 SelectionLength 属性增加。注意   可以用编程方式在文本框中移动插入符号,方法是:将 SelectionStart 设置为文本框中要将插入符号移动到的位置,并将 SelectionLength 属性设置为值 0。若要移动插入符号,该文本框必须具有焦点。
示例
[Visual Basic, C#] 以下示例使用派生类 TextBox。它为执行“剪切”、“复制”、“粘贴”和“撤消”操作的 MenuItem 对象提供了 Click 事件处理程序。此示例假定已经创建一个名为 textBox1 的 TextBox 控件。[Visual Basic] 
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 SubPrivate 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
[C#] 
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();
    }
 }
[C++, JScript] 没有可用于 C++ 或 JScript 的示例。若要查看 Visual Basic 或 C# 示例,请单击页左上角的语言筛选器按钮 。要求
平台: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows .NET Server family请参见
TextBoxBase 类 | TextBoxBase 成员 | System.Windows.Forms 命名空间 --------------------------------------------------------------------------------将文档反馈发送给 Microsoft&copy; 2002 Microsoft Corporation。保留所有权利。