Я пытаюсь разработать простую клиентскую программу с лицензионным ключом, в которой пользователь не может получить доступ к родительской форме, пока они не активируют свое программное обеспечение, и я не могу запретить им щелкать родительскую форму и взаимодействовать с ней. Я не хочу использовать Form.ShowDialog (), потому что я хочу открыть оба одновременно, если пользователь не запросил свой лицензионный ключ. Любые мысли о том, как я могу выполнить sh это?
РЕДАКТИРОВАТЬ: Вот мой конструктор MainApp:
public MainApp()
{
InitializeComponent();
MySqlConnection conn;
this.FormClosing += new FormClosingEventHandler(MainApp_FormClosing);
string connString = "";
string sql = String.Format("SELECT COUNT(*) FROM license_keys WHERE hwid='{0}';", ComputerInfo.GetComputerId());
using (conn = new MySqlConnection(connString))
{
conn.Open();
using (MySqlCommand cmd = new MySqlCommand(sql, conn))
{
var result = Convert.ToInt32(cmd.ExecuteScalar());
if (result == 0)
{
AuthTest authTest = new AuthTest();
authTest.ShowDialog(this);
authTest.BringToFront();
}
}
}
}
Проблема в том, что я хочу, чтобы обе формы открывались, если SQL запрос ничего не возвращает, но я хочу, чтобы основная форма (этот класс) все еще отображалась, но предупреждаю пользователя (звук и мерцание), если он пытается взаимодействовать с ним, прежде чем ответить на форму AuthTest.
Обратите внимание, что это просто подтверждение концепции, и я понимаю, что код не очень хорош.