Я довольно новичок в c #, особенно для приложений с интерфейсом. Я посмотрел, например, или руководство по WPF
, но они слишком просты. Вот что я хотел бы сделать:
1) кнопка для просмотра каталога и выбора файлов;
2) a Listbox
и a textBox
будут заполнены с использованием информации по именам файлов, выбранным ранее;
3) переименовывайте эти файлы с помощью веб-информации, только когда заполнены Listbox
и textbox
.
Пункты 1) и 2) выполнены: я написал необходимый код внутри события нажатия кнопки. Я думал написать код для пункта 3) внутри MainWindow
, но эти строки кода выполняются до того, как я могу выбрать файлы, тогда еще нет никаких данных.
Простым решением может быть вставка остальной части кода в событие нажатия кнопки, но я думаю, что это ужасно. На данный момент я не могу понять, что писать в ГЛАВНОЙ в приложении WPF
.
Код:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void webLink_Click(object sender, RoutedEventArgs e)
{
System.Diagnostics.Process.Start("http://www.battlecraft.it/");
}
private void loader_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Multiselect = true;
ofd.ShowDialog();
listBox1.Items.Clear();
string[] files = ofd.FileNames;
string[] filenames = new string[files.Length];
for (int i=0; i<files.Length; i++)
{
filenames[i] = System.IO.Path.GetFileNameWithoutExtension(files[i]);
listBox1.Items.Add(filenames[i]);
}
if (listBox1.Items.Count != 0)
{
string SeEp = Regex.Match(filenames[0], @"\d+\w\d+").Value;
string[] str = Regex.Split(filenames[0], @"\d\d\w+\d\d");
string titolo = str[0].Replace(".", " ");
MatchCollection m = Regex.Matches(SeEp, @"\d\d");
titleBox.Text = titolo;
seasonBox.Text = "stagione " + m[0].Value;
int episode = int.Parse(m[1].Value);
}
}
}