/// <summary> /// テキストボックスでEnterキー入力時のイベントを設定する。 /// </summary> /// <param name="workIDType"></param> /// <param name="WorkID"></param> /// <param name="customtextBox"></param> public void SetTextBoxEvent(int workIDType, int WorkID, CustomTextBox customtextBox) { customtextBox.EnterKeyDown += delegate(EventArgs e) { // 入力チェックと値更新 EnterTextBox(workIDType, WorkID, customtextBox); // フォーカスアウトする Form frm = customtextBox.FindForm(); frm.ActiveControl = null; }; }
/// <summary> /// 数値入力の欄の数値を数値フォーマットに直す /// </summary> /// <param name="ctl"></param> /// <param name="WorkID"></param> private void textFormatCorrect(CustomTextBox ctl, int WorkID) { string showStr = ""; double inputtedVal = 0.0; // 非表示中、入力中または空欄の時は行わない if (!ctl.Visible || ctl.Focused || ctl.Text.Length == 0) return; // 数値を変換してみる try { inputtedVal = Convert.ToDouble(ctl.Text); } catch { // 空欄にする ctl.Text = ""; return; } // メモリ割当データの数値フォーマットに変更する int result = Program.DataController.ValueChangeToWorkIDFormatStr(SystemConstants.WORKID_TYPE_WORKDATA, WorkID, inputtedVal, ref showStr); if (result == SystemConstants.DCPF_SUCCESS) { if (ctl.Text != showStr) ctl.Text = showStr; } }
/// <summary> /// テキストボックスでEnterキー入力時のイベントを設定する。 /// 入力された値が適正かだけを確認する。メモリ更新はしない。 /// </summary> /// <param name="workIDType"></param> /// <param name="WorkID"></param> /// <param name="customtextBox"></param> public void SetCheckOnlyTextBoxEvent(int workIDType, int WorkID, CustomTextBox customtextBox) { customtextBox.EnterKeyDown += delegate(EventArgs e) { double value; string message = ""; // テキストボックスの入力チェック if (checkTextBoxValue(workIDType, WorkID, customtextBox.Text, out value, out message) == false) { customtextBox.Text = ""; Utility.ShowErrorMsg(message); return; } // フォーカスアウトする Form frm = customtextBox.FindForm(); frm.ActiveControl = null; }; }
/// <summary> /// テキストボックスでエンターキー押されたときの処理 /// スピード画面の切断長閾値の入力は制限がほかのと違うので分ける。 /// 閾値1は0~閾値2未満 /// 閾値2は閾値1+最小係数以上 /// </summary> /// <param name="workIDType"></param> /// <param name="WorkID"></param> /// <param name="customtextBox"></param> public void EnterTextBoxWireLengthThres(int workIDType, int WorkID, CustomTextBox customtextBox) { double value; string message; double workdata = 0; string thres; // 形式チェック if (Program.MainForm.checkTextBoxValue(workIDType, WorkID, customtextBox.Text, out value, out message) == false) { Utility.ShowErrorMsg(message); return; } switch (WorkID) { case SystemConstants.FEED_SPEED_THRES1: // 閾値2を読む Program.DataController.ReadWorkData(SystemConstants.FEED_SPEED_THRES2, ref workdata); thres = workdata.ToString(); // 適正範囲チェック if (customtextBox.Text == "0" || workdata <= value) { string workname = Utility.GetMessageString(SystemConstants.WORK_MSG, SystemConstants.FEED_SPEED_THRES2); Utility.ShowErrorMsg(SystemConstants.SYSTEM_MSG027, workname, "0", thres); return; } break; case SystemConstants.FEED_SPEED_THRES2: // 閾値1を読む Program.DataController.ReadWorkData(SystemConstants.FEED_SPEED_THRES1, ref workdata); thres = GetSpeedThresString(SystemConstants.FEED_SPEED_THRES1); // 範囲チェック if (value <= workdata) { string workname = Utility.GetMessageString(SystemConstants.WORK_MSG, SystemConstants.FEED_SPEED_THRES2); Utility.ShowErrorMsg(SystemConstants.SYSTEM_MSG022, workname, thres); return; } break; } // ワークデータを書き込む mainfrm.WriteWorkData(WorkID, value); }
/// <summary> /// テキストボックスでエンターキー押されたときの処理。 /// 入力をチェックして適正ならメモリに書き込み。 /// </summary> /// <param name="workIDType"></param> /// <param name="WorkID"></param> /// <param name="customtextBox"></param> public void EnterTextBox(int WorkIDType, int WorkID, CustomTextBox customtextBox) { double value; string message = ""; // テキストボックスの入力チェック if (checkTextBoxValue(WorkIDType, WorkID, customtextBox.Text, out value, out message) == false) { Utility.ShowErrorMsg(message); return; } // データの書き込み switch (WorkIDType) { case SystemConstants.WORKID_TYPE_WORKDATA: // ワークデータを書き込む mainfrm.WriteWorkData(WorkID, value); break; case SystemConstants.WORKID_TYPE_CORRECTDATA: // 補正値クデータを書き込む mainfrm.WriteCorrectData(WorkID, value); break; case SystemConstants.WORKID_TYPE_TIMINGDATA: // ワークデータを書き込む mainfrm.WriteTimingData(WorkID, value); break; } }
/// <summary> /// テキストボックスでエンターキー押されたときの処理。 /// 入力をチェックだけする。 /// </summary> /// <param name="workIDType"></param> /// <param name="WorkID"></param> /// <param name="customtextBox"></param> public void EnterCheckTextBox(int WorkIDType, int WorkID, CustomTextBox customtextBox) { double value; string message = ""; // テキストボックスの入力チェック if (checkTextBoxValue(WorkIDType, WorkID, customtextBox.Text, out value, out message) == false) { // エラーなら入力内容をクリア:更新がかかるやつなら元の値になる customtextBox.Text = ""; Utility.ShowErrorMsg(message); return; } }
/// <summary> /// テキストボックスのクリックイベントを設定する。 /// テンキー表示対応 /// </summary> /// <param name="workIDType"></param> /// <param name="WorkID"></param> /// <param name="customtextBox"></param> public void ClickTextBoxEvent(int workIDType, int actionType, int WorkID, CustomTextBox customtextBox) { customtextBox.Click += delegate(Object sender, EventArgs e) { if (Program.SystemData.tachpanel == false) return; CustomTextBox ct = (CustomTextBox)sender; // データなしなら0に置き換え double preval; if (ct.Text == "") preval = 0; else preval = double.Parse(ct.Text); // テンキーを表示 TenkeyControl tc = Program.TenkeyController; tc.tenKeyData.obj = sender; tc.tenKeyData.value = preval; tc.tenKeyData.workid = WorkID; tc.tenKeyData.workidtype = workIDType; tc.tenKeyData.actiontype = actionType; tc.tenkeyFormShow(); // フォーカスアウトする Form frm = customtextBox.FindForm(); frm.ActiveControl = null; }; }