private int statusDspSensorPgMax = 0; // センサーロック状態パネルのページ数 /// <summary> /// センサーロックボタンのデータマップに内容を登録する処理 /// </summary> /// <param name="dspTimming"></param> /// <param name="dspPosition"></param> /// <param name="msgID"></param> /// <param name="readBtnCls"></param> /// <param name="writeBtnCls"></param> private void sensorLockDspMapAdd(int dspTimming, int dspPosition, int msgID, sensorLockReadBtn readBtnCls, sensorLockWriteBtn writeBtnCls) { // 引数が不適切な場合、例外を発生させる if (dspTimming < 0 || dspPosition < 0 || dspPosition > 99) new ArgumentException("SensorLock DspTimming or DspPosition is out of range"); // ページの最大数を求める if (dspTimming > statusDspSensorPgMax) statusDspSensorPgMax = dspTimming; // インデックスを生成する int index = mainfrm.dspIndexCalc(dspTimming, dspPosition); // 設定データに追加する sensorLockDspStruct opeStruct = new sensorLockDspStruct(); opeStruct.MsgID = msgID; opeStruct.ReadBtn = readBtnCls; opeStruct.WriteBtn = writeBtnCls; // マップに追加する sensorDspMap.Add(index, opeStruct); }
/// <summary> /// センサーロックボタンに状態を書き込む処理 /// </summary> /// <param name="btnID"></param> /// <param name="btnMotion"></param> /// <returns></returns> private sensorLockWriteBtn getWriteBtnClass(int btnID, int btnMotion) { // ボタンの動作モードが異なる場合、例外を返す if (btnMotion != SystemConstants.BTN_PUSH && btnMotion != SystemConstants.BTN_ON && btnMotion != SystemConstants.BTN_OFF) throw new ArgumentException("BtnMotion is out of range"); sensorLockWriteBtn writeBtn = new sensorLockWriteBtn(); writeBtn.BtnID = btnID; writeBtn.BtnMotion = btnMotion; return writeBtn; }