stify">/// Файл бази даних для відкриття.
public static string GetOpenBaseName ()
{w = new OpenBase ();
w.ShowDialog ();// важливий момент - вікно діалогове і перехоплює керування на себе
return w.baseName;
}
void Window_Loaded (object sender, RoutedEventArgs e)
{[] files = Directory.GetFiles (Directory.GetCurrentDirectory (), "*. db");// виробляємо вибірку всіх файлів баз даних
// (файлів з розширенням *. db) з папки програми
Directory.GetFiles (Directory.GetCurrentDirectory (), "*. db3"). CopyTo (files, files.Length - 1);// і з розширенням *. db3.GetFiles (Directory. GetCurrentDirectory (), "*. sqlite"). CopyTo (files, files.Length - 1);// і з розширенням *. sqlite
(string s in files)
{_Bases.Items.Add (System.Text.RegularExpressions.Regex.Replace (s, @ ". + ", ""). ToString ());
}
// поле вибору файлу бази даних отримує фокус
Lb_Bases.Focus ();
}
void Bt_OK_Click (object sender, RoutedEventArgs e)
{
// перевіримо, щоб ім'я бази було не порожнім
if (Lb_Bases.SelectedItem! = null)
{
// якщо все вірно, то ім'я бази передаємо у вихідну змінну і закриваємо вікно
baseName = Lb_Bases.SelectedItem.ToString ();
Close ();
} MessageBox.Show ("База не вибрана!");// в іншому випадку просимо вибрати базу для завантаження.
}
void Bt_Cancel_Click (object sender, RoutedEventArgs e)
{
// закриємо вікно, задавши ім'я бази, як пусте
baseName = null; ();
}
void Lb_Bases_KeyDown (object sender, KeyEventArgs e)
{
// вибір бази на клавішу (e.Key == Key.Enter)
{_OK_Click (Bt_Ok, null);
}
}
void Lb_Bases_MouseDoubleClick (object sender, MouseButtonEventArgs e)
{
// вибір бази на подвійний клік по ній
Bt_OK_Click (Bt_Ok, null);
}
void Window_KeyDown (object sender, KeyEventArgs e)
{(e.Key == Key.Escape)
{_Cancel_Click (null, null);
}
}
}
}