visual valor una texto tabla salto quitar que marco linea etiqueta eliminar cómo cuadros cuadro crear como busque borrar c# winforms textbox

c# - valor - salto de linea en textbox visual basic



Seleccione una línea particular en el cuadro de texto? (6)

Tengo dos formularios, 1 y 2. Form1 tiene un cuadro de texto y form2 tiene un cuadro de texto y un botón. Quiero ir a una línea específica, lo que significa que cuando ingreso el valor del cuadro de texto de form2, mi cursor del mouse va al cuadro de texto de form1.

private void button1_Click(object sender, EventArgs e) { int line = Form1.ab; for (int i = 1; i < line; i++) { if (i == Convert.ToInt16( textBox1.Text)) { // fr.textbox1 is a textbox form1 and // textbox1.text is a textbox of the form1 fr.textBox1.SelectionStart = int.Parse( textBox1.Text) ; fr.textBox1.ScrollToCaret(); break; } } }


Aplique esta lógica a su código y recodifíquelo como lo necesite.

private void button1_Click(object sender, EventArgs e) { if (textBox_Form1.Text.Contains(textBox_Form2.Text)) { textBox_Form1.Focus(); textBox_Form1.SelectionStart = textBox_Form1.Text.IndexOf(textBox_Form2.Text); textBox_Form1.SelectionLength = textBox_Form2.Text.Length; } }


El método TextBox.GetFirstCharIndexFromLine encuentra el índice del primer carácter de una línea. Entonces tu selección comienza allí. Luego encuentra el final de esa línea, que es Environment.NewLine o el final del texto. Dado que el usuario ingresa el número de línea, debe usar int.TryParse para manejar entradas no válidas.

private void button1_Click(object sender, EventArgs e) { int lineNumber; if (!int.TryParse(textBox2.Text, out lineNumber) || lineNumber < 0) { textBox1.Select(0, 0); return; } int position = textBox1.GetFirstCharIndexFromLine(lineNumber); if (position < 0) { // lineNumber is too big textBox1.Select(textBox1.Text.Length, 0); } else { int lineEnd = textBox1.Text.IndexOf(Environment.NewLine, position); if (lineEnd < 0) { lineEnd = textBox1.Text.Length; } textBox1.Select(position, lineEnd - position); } }


intenta algo como;

int lineNumber = Form1.ab; // split the contents of the text box string text = textBox1.Text; string[] lines = text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None); if (lineNumber < 0 || lineNumber > lines.Length) { MessageBox.Show("The line number is does not exist"); return; } // get the character pos int selStart = 0; for (int i = 0; i < (lineNumber - 1); i++) { selStart += lines[i].Length + Environment.NewLine.Length; } textBox1.Focus(); textBox1.SelectionStart = selStart; textBox1.SelectionLength = lines[lineNumber - 1].Length;

Nota: puede acceder al otro cuadro de texto directamente en el otro formulario yendo al diseñador de Form2, haciendo clic en el cuadro de texto y yendo a Propiedades. En el cuadro de diálogo Propiedades, busque una propiedad llamada Modificadores y cambie el valor a internal o public . Esto le permitirá acceder al valor del cuadro de texto en la otra forma directamente como tal;

private void Form1_Load(object sender, EventArgs e) { Form2 form2Instance = new Form2(); string sampleText = form2Instance.textBox1.Text; }

Si necesita conocer más muestras sobre cómo acceder a controles / detalles en otros formularios, hágamelo saber.


Está creando un NUEVO formulario1 donde el cuadro de texto puede estar en blanco, y llamando a GetPass () en ese formulario vacío. Necesita una instancia del formulario1 ya abierto donde el cuadro de texto podría tener un valor. para más información

haga clic aquí


Pruebe el siguiente código

var sdr = (System.Windows.Controls.TextBox) sender; if (!string.IsNullOrEmpty(sdr.Text)) { var start = sdr.Text.LastIndexOf(Environment.NewLine, sdr.CaretIndex); var lineIdx = sdr.GetLineIndexFromCharacterIndex(sdr.CaretIndex); var lineLength = sdr.GetLineLength(lineIdx); sdr.SelectionStart = start + 1; sdr.SelectionLength = lineLength; sdr.SelectedText.Substring(0, sdr.SelectedText.IndexOf(Environment.NewLine) + 1); Clipboard.SetText(sdr.SelectedText); }


quizás esto mejor:

{ ... string SelectedText = fr.textBox1.Lines[line]; int SelectedTextPos = fr.textBox1.Text.IndexOf(SelectedText); int SelectedTextLen = SelectedText.Lenght; fr.textBox1.Select(SelectedTextPos, SelectedTextLen); fr.textBox1.ScrollToCaret(); ... }