Класс для взаимодействия с отдельным формами и расширениями.
예제 #1
0
        /// <summary>
        /// Метод, срабатывающий при нажатии кнопки, запускающей установку.
        /// </summary>
        private void BtnInstall_Click(object sender, EventArgs e)
        {
            // А здесь собственно установка...
            if (!(String.IsNullOrEmpty(InstallPath.Text)))
            {
                try
                {
                    // Сгенерируем путь...
                    string InstallDir = IsUsingUserDir ? Path.Combine(CustomInstallDir, Properties.Settings.Default.UserCustDirName) : FullGamePath;

                    // У нас множество алгоритмов, поэтому придётся делать проверки...
                    switch (Path.GetExtension(InstallPath.Text))
                    {
                    // Будем устанавливать демку...
                    case ".dem": InstallFileNow(InstallPath.Text, FullGamePath);
                        break;

                    // Будем устанавливать пакет...
                    case ".vpk": InstallFileNow(InstallPath.Text, CustomInstallDir);
                        break;

                    // Будем устанавливать конфиг...
                    case ".cfg": InstallFileNow(InstallPath.Text, Path.Combine(InstallDir, "cfg"));
                        break;

                    // Будем устанавливать карту...
                    case ".bsp": InstallFileNow(InstallPath.Text, Path.Combine(InstallDir, "maps"));
                        break;

                    // Будем устанавливать хитсаунд...
                    case ".wav": InstallFileNow(InstallPath.Text, Path.Combine(InstallDir, "sound", "ui"));
                        break;

                    // Будем устанавливай спрей...
                    case ".vtf": InstallSprayNow(InstallPath.Text);
                        break;

                    // Будем устанавливать содержимое архива...
                    case ".zip": FormManager.FormShowArchiveExtract(InstallPath.Text, CustomInstallDir);
                        break;

                    // Будем устанавливать бинарный модуль (плагин)...
                    case ".dll": InstallFileNow(InstallPath.Text, Path.Combine(InstallDir, "addons"));
                        break;
                    }

                    // Выведем сообщение...
                    MessageBox.Show(AppStrings.QI_InstSuccessfull, PluginName, MessageBoxButtons.OK, MessageBoxIcon.Information);

                    // Закрываем окно...
                    Close();
                }
                catch (Exception Ex)
                {
                    // Произошло исключение, выведем сообщение...
                    CoreLib.HandleExceptionEx(AppStrings.QI_Excpt, PluginName, Ex.Message, Ex.Source, MessageBoxIcon.Warning);
                }
            }
            else
            {
                // Пользователь ничего не выбрал для установки, укажем ему на это...
                MessageBox.Show(AppStrings.QI_InstUnav, PluginName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
예제 #2
0
 /// <summary>
 /// Метод, срабатывающий при нажатии на кнопку "О модуле".
 /// </summary>
 private void LV_MenuHelpAbout_Click(object sender, EventArgs e)
 {
     // Выводим сообщение с краткой информацией о плагине...
     FormManager.FormShowAboutApp();
 }