Допустим есть текстовый файл содержащий логины и пароли в следующем порядке:
первая строка будет содержать логин, а вторая строка пароль, т.е. логин всегда выше пароля на одну строчку.
Создаём проект.
Компоненты на форме:
1) Два textBox; — Первый для поиска логина, во втором будет отображаться логин найденный в базе.
2) две button; — Первую назовём «Поиск», вторую «Редактировать»
3) richTextBox.
Предполагается, что в richTextBox уже загружена база с логинами и паролями.
Теперь смотрим листинг:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication38 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } int linenumber = 0; public bool FindLogin(string login) // метод поиска подстроки в строке { bool returnValue = false; linenumber = 0; int indexToText = -1; if (login.Length > 0) { indexToText = richTextBox1.Find(login); if (indexToText >= 0) { textBox2.Text = login; linenumber = richTextBox1.GetLineFromCharIndex(indexToText); richTextBox1.SelectionStart = indexToText; richTextBox1.SelectionLength = login.Length; richTextBox1.Select(indexToText, login.Length); richTextBox1.Focus(); returnValue = true; } else { MessageBox.Show("Логин в базе не найден!"); returnValue = false; } } return returnValue; } private void button1_Click(object sender, EventArgs e) { FindLogin(textBox1.Text); } private void button2_Click(object sender, EventArgs e) { string login = textBox2.Text; string[] temp = new string[] { "string1", "string2", "string3", "string4" }; temp = richTextBox1.Lines; temp[linenumber] = login; richTextBox1.Lines = temp; } private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { char l = e.KeyChar; if ((l < 'A' || l > 'z') && l != '\b' && l != '.') { e.Handled = true; } } } }
И так, если логин найден в базе, то он автоматически отобразиться во втором поле.
Если логин изменить как показано на рисунке ниже и нажать на кнопку «Редактировать», то логин будет изменён и в richTextBox.