private void listKeysToolStripMenuItem_Click(object sender, EventArgs e) { KeyWindow kw = new KeyWindow(); kw.ShowDialog(); kw.Dispose(); // Once closed we can dispose }
//открывает диалоговое окно с безопасным вводом ключа private void MenuKeyEnter_Click(object sender, RoutedEventArgs e) { this.Visibility = Visibility.Hidden; KeyWindow window = new KeyWindow(); window.ShowDialog(); KeyBox.Text = window.correctKey; this.Visibility = Visibility.Visible; }
/// <summary> /// Twitter 連携に関するイベント設定を行います。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async Task _UsingPostTwitterAsync() { if (this.checkBoxPostTwitter.Checked) { var settings = Properties.Settings.Default; var consumerKey = (string)settings["ConsumerKey"] ?? null; var consumerSecret = (string)settings["ConsumerSecret"] ?? null; var accessToken = (string)settings["AccessToken"] ?? null; var accessTokenSecret = (string)settings["AccessTokenSecret"] ?? null; if (string.IsNullOrEmpty(consumerKey) || string.IsNullOrEmpty(consumerSecret) || string.IsNullOrEmpty(accessToken) || string.IsNullOrEmpty(accessTokenSecret)) { // Consumer Key / Secret をここで入力 var key = new KeyWindow(consumerKey, consumerSecret); if (key.ShowDialog() == DialogResult.OK) { (this._ConsumerKey, this._ConsumerSecret) = key.CkPair; } // 入力された Consumer Key / Secret を元に インスタンス生成 this._Twitter = new Twitter(this._ConsumerKey, this._ConsumerSecret, this._HttpClient); if (this._ConsumerKey != null && this._ConsumerSecret != null) { // 認証を実施します await this._Twitter.AuthorizeAsync(); // Form が Close したと同時に ShowDialog も完了する。 var oauth = new OAuthWindow(); if (oauth.ShowDialog() == DialogResult.OK) { await this._Twitter.GetAccessTokenAsync(oauth.PinCode); } // 認証完了メッセージの投稿 await this.PostTwitterAsync($"Authentication completion for Kisaragi.\r\n{DateTimeOffset.Now}"); // 各種認証キーを設定ファイルに保存する settings["ConsumerKey"] = this._Twitter.ConsumerKey; settings["ConsumerSecret"] = this._Twitter.ConsumerSecret; settings["AccessToken"] = this._Twitter.AccessToken; settings["AccessTokenSecret"] = this._Twitter.AccessTokenSecret; settings["UserId"] = this._Twitter.UserId; settings["ScreenName"] = this._Twitter.ScreenName; settings.Save(); } else { this.checkBoxPostTwitter.Checked = false; MessageBox.Show("Twitter 連携をキャンセルします。\r\n" + "再度認証するには、チェックボックスをクリックしてください。", "認証未実施", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { new KisaragiMessageBox("Twitter 連携用認証キーは既に存在しています。" + "\r\nTwitter 連携を行うにはチェックを入れたままにしてください。", "通知", 2000); } } }