Итак, у меня есть текстовое поле с временем, которое выглядит так:
Когда вы нажимаете в текстовом поле, и вы нажимаете на часовую часть, как это;
Это должно выглядеть так;
То же самое касается минут, поэтому, когда вы находитесь в минутной части текстового поля, как это;
Тогда это должно выглядеть так;
В основном, что я пытаюсь сделать, это сделать выбор/выделение программы для вас. В зависимости от того, на что вы нажали.
То, что я пробовал до сих пор, это так;
Что должно произойти, когда вы "выбираете" часовую часть:
textBox1.SelectionStart = 0; // The start of the selection
textBox1.SelectionLength = 2; //Untill the ":" which seperates the hours from minutes
Это будет работать, текст будет выбран как изображение трети.
И эта часть:
textBox1.SelectionStart = 3; // The start of the selection, in this case after the ":"
textBox1.SelectionLength = textBox1.Text.Length; //Untill the end
Я знаю, что вы должны написать простой оператор if для этого.
Но моя проблема в том, как я могу проверить, в какой части находится "курсор", в текстовом поле?
С началом выбора вы можете узнать, где находится ваш курсор в текстовом поле.
private void textBox1_MouseClick(object sender, MouseEventArgs e)
{
if (textBox1.SelectionStart < 3)
{
textBox1.SelectionStart = 0;
textBox1.SelectionLength = 2;
}
else if (textBox1.SelectionStart > 2)
{
textBox1.SelectionStart = 3;
textBox1.SelectionLength = textBox1.Text.Length;
}
}
Если if-statement является истинным, я выберу определенный текст, например, если ваш SelectionStart равен 0, что означает, что он находится в начале текстового поля, будут выделены первые 2 цифры.
Он должен работать с этими 2 if-утверждениями.
textBox1.SelectionStart