// ------------------------------------------------------------------------------------ public MainForm() { InitializeComponent(); // リソース節約のためのコード ms_meiryo_Ke_P_9pt = new Font("MeiryoKe_PGothic", 9F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(128))); m_Btn_connect.Font = ms_meiryo_Ke_P_9pt; m_Btn_postMsg.Font = ms_meiryo_Ke_P_9pt; m_Btn_Chg_RmLimit.Font = ms_meiryo_Ke_P_9pt; m_Btn_timer_JSON.Font = ms_meiryo_Ke_P_9pt; m_TBox_PostMsg.Font = ms_meiryo_Ke_P_9pt; m_Lbl_timer_elapsed.Font = ms_meiryo_Ke_P_9pt; label1.Font = ms_meiryo_Ke_P_9pt; m_btn_test_1.Font = ms_meiryo_Ke_P_9pt; m_btn_test_2.Font = ms_meiryo_Ke_P_9pt; m_btn_test_3.Font = ms_meiryo_Ke_P_9pt; ms_meiryo_Ke_P_8pt = new Font("MeiryoKe_PGothic", 8.25F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(128))); m_TBox_uname.Font = ms_meiryo_Ke_P_8pt; m_TBox_roomname.Font = ms_meiryo_Ke_P_8pt; label2.Font = ms_meiryo_Ke_P_8pt; label3.Font = ms_meiryo_Ke_P_8pt; label4.Font = ms_meiryo_Ke_P_8pt; ms_meiryo_8pt = new Font("メイリオ", 8.25F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(128))); m_RBox_usrMsg.Font = ms_meiryo_8pt; m_RBox_status.Font = ms_meiryo_8pt; m_CmbBox_str_icon.Font = ms_meiryo_8pt; // -------------------------------------------- m_Timer_getJSON = new System.Timers.Timer(m_timer_interval_msec); m_Timer_getJSON.Elapsed += OnTimer_GetJSON; m_Timer_getJSON.AutoReset = true; m_Timer_getJSON.SynchronizingObject = this; /* * m_Timer_delayBAN = new System.Timers.Timer(MSEC_timer_intvl_delayBAN); * m_Timer_delayBAN.Elapsed += OnTimer_delayBAN; * m_Timer_delayBAN.AutoReset = true; * m_Timer_delayBAN.SynchronizingObject = this; */ ms_RBox_status = m_RBox_status; m_RBox_status.SelectionTabs = new int[] { 30 }; m_RBox_status.LanguageOption = RichTextBoxLanguageOptions.UIFonts; // 行間を狭くする ms_RBox_usrMsg = m_RBox_usrMsg; ms_RBox_usrMsg.SelectionTabs = new int[] { 30 }; ms_RBox_usrMsg.LanguageOption = RichTextBoxLanguageOptions.UIFonts; // 行間を狭くする // BanCtrl を生成 BanCtrls_Ctrlr.Init(); // BanCtrl の GUI を生成 this.Create_BanCtrls_GUI(); // encip の記録ファイルを読み込む DB_static.Load_fromFile(); MainForm.WriteStatus("--- 起動しました\r\n"); }
// ------------------------------------------------------------------------------------ private void MainForm_FormClosing(object sender, FormClosingEventArgs e) { DB_static.Save_toFile(); }
public async void OnClk_Btn_BAN() { // MainForm.WriteStatus($"OnClk_Btn_BAN(): m_id_this_session -> {m_id_this_session}\r\n"); if (m_id_this_session == 0) { MainForm.WriteStatus("!!! エラー検出: m_id_this_session == 0 in BanCtrl.OnClk_Btn_BAN()\r\n"); return; } // { throw new Exception("!!! エラー検出: m_id_this_session == 0 in BanCtrl.OnClk_Btn_BAN()"); } // まず DB_static に encip を登録しておく DB_static.Regist(m_encip); mb_Rgst_ban = true; mb_Exec_Ban = true; m_GUI.m_Btn_AI_talk.Enabled = false; m_GUI.m_Btn_ban.Enabled = false; if (m_id_this_session > 0) { // 入室者の BAN 処理 m_GUI.m_TBox_info.BackColor = Color.HotPink; Drrr_Host2.HttpTask ban_usr_task = Drrr_Host2.BanUsr_Task_Factory.Create(m_uinfo.m_uid.m_str_uid); if (ban_usr_task.m_str_cancel == null) { try { await ban_usr_task.DoWork(); } catch (Exception ex) { ban_usr_task.m_str_cancel = ex.ToString() + "\r\n"; } } // まとめてエラー処理を行う if (ban_usr_task.m_str_cancel != null) { MainForm.WriteStatus($"!!! 「BanUsr」がキャンセルされました。\r\n{ban_usr_task.m_str_cancel}"); m_GUI.m_Btn_AI_talk.Enabled = true; m_GUI.m_Btn_ban.Enabled = true; return; } // 受信メッセージを表示する byte[] bytes_utf8 = await ban_usr_task.m_http_res.Content.ReadAsByteArrayAsync(); m_sb_ban_ret_msg.Clear(); m_sb_ban_ret_msg.Append(System.Text.Encoding.UTF8.GetString(bytes_utf8)); m_sb_ban_ret_msg.Append($"-> [{m_uinfo.m_uname}]\r\n"); // 強制退室 or 部屋にいませんでした の2択になるため、その判定が必要 string ret_str = m_sb_ban_ret_msg.ToString(); if (ret_str.Contains("強制退室") == false) { // 強制退室失敗 m_GUI.m_Btn_AI_talk.Enabled = true; m_GUI.m_Btn_ban.Enabled = true; } MainForm.WriteStatus(ret_str); } else { // 退室者の BAN 処理 m_GUI.m_TBox_info.BackColor = Color.LightPink; // 退室者の eip to ban 登録 ExitEip_onTalks.Regist_to_BAN(m_encip); } }