Читаешь все три листа, кладёшь в Dictionary и идёшь по всем.
и каком формате имеются данные,
По описанию задачи не совсем понятно, что с чем надо сравнивать
Microsoft.Hosting.Lifetime: Information: Application started. Press Ctrl+C to shut down.
Microsoft.Hosting.Lifetime: Information: Hosting environment: Development
Microsoft.Hosting.Lifetime: Information: Content root path: *путь*
"iisexpress.exe" (CoreCLR: clrhost). Загружено "C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\3.1.17\Microsoft.AspNetCore.WebUtilities.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код".
"iisexpress.exe" (CoreCLR: clrhost). Загружено "C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.17\System.Security.Cryptography.Csp.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код".
"iisexpress.exe" (CoreCLR: clrhost). Загружено "C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.17\System.Security.Cryptography.Primitives.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код".
"iisexpress.exe" (CoreCLR: clrhost). Загружено "C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.17\System.Net.WebSockets.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код".
"iisexpress.exe" (CoreCLR: clrhost). Загружено "C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.17\System.Security.Principal.Windows.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код".
Поток 0x3c90 завершился с кодом 0 (0x0).
Программа "[10952] iisexpress.exe" завершилась с кодом -1 (0xffffffff).
private void button1_Click(object sender, EventArgs e)
{
openChildForm(new Form3());
}
private void button2_Click(object sender, EventArgs e)
{
Form3 main = new Form3();
main.button1.Text = "TEST"; // ТУТ НИФИГА НЕ МЕНЯЕТ
//main.ShowDialog(); // как привели в примере - не подходит !
}
List<Form> activeFormArray = new List<Form>();
private Form activeForm = null;
private void openChildForm(Form chilldForm)
{
bool keyMain = false;
foreach (Form main in activeFormArray)
{
if (main.Text == chilldForm.Text)
{
keyMain = true;
activeForm = main;
main.BringToFront(); // закрывать ОКНО НЕЛЬЗЯ, поэтому переносим на передний план
}
}
if (keyMain == false)
{
// открываем дочернюю форму в панеле
activeForm = chilldForm;
activeFormArray.Add(chilldForm);
chilldForm.TopLevel = false;
chilldForm.FormBorderStyle = FormBorderStyle.None;
chilldForm.Dock = DockStyle.Fill;
panel1.Controls.Add(chilldForm);
panel1.Tag = chilldForm;
chilldForm.BringToFront();
chilldForm.Show();
}
}
private void button1_Click(object sender, EventArgs e)
{
openChildForm(new Form3());
}
private void button2_Click(object sender, EventArgs e)
{
Form3 main = new Form3();
main.button1.Text = "TEST"; // ТУТ НИФИГА НЕ МЕНЯЕТ
//main.ShowDialog(); // как привели в примере - не подходит !
}
List<Form> activeFormArray = new List<Form>();
private Form activeForm = null;
private void openChildForm(Form chilldForm)
{
bool keyMain = false;
foreach (Form main in activeFormArray)
{
if (main.Text == chilldForm.Text)
{
keyMain = true;
activeForm = main;
main.BringToFront(); // закрывать ОКНО НЕЛЬЗЯ, поэтому переносим на передний план
}
}
if (keyMain == false)
{
// открываем дочернюю форму в панеле
activeForm = chilldForm;
activeFormArray.Add(chilldForm);
chilldForm.TopLevel = false;
chilldForm.FormBorderStyle = FormBorderStyle.None;
chilldForm.Dock = DockStyle.Fill;
panel1.Controls.Add(chilldForm);
panel1.Tag = chilldForm;
chilldForm.BringToFront();
chilldForm.Show();
}
}
Опишите пожалуйста эту логику подробнее, не могу сообразить принцип "сравнение строк" в словаре для этой задачи.