program study story

プログラムの勉強 アウトプット

機能コード

/// <summary>
/// ↑押下時のイベント処理
/// </summary>
/// <param name="eventArgs">イベント引数</param>
protected void UOC_Form_UP_KeyDown(RcFxEventArgs eventArgs)
{
// データグリッドビューとマルチラインテキスト、コンボボックスでドロップダウン表示時、リストボックスは対象外
if (ControlManager.EntrySequencedManager.IsEnableMoveKey(this.ActiveControl) == false)
{
return;
}

// 前コントロールにフォーカス設定
ControlManager.EntrySequencedManager.FocusPrevControl(this, this.MoveReadonlyControl);
}

 

/// <summary>
/// ↓押下時のイベント処理
/// </summary>
/// <param name="eventArgs">イベント引数</param>
protected void UOC_Form_DOWN_KeyDown(RcFxEventArgs eventArgs)
{
// データグリッドビューとマルチラインテキスト、コンボボックスでドロップダウン表示時、リストボックスは対象外
if (ControlManager.EntrySequencedManager.IsEnableMoveKey(this.ActiveControl) == false)
{
return;
}

// 次コントロールに検証なしでフォーカス設定
ControlManager.EntrySequencedManager.FocusNextControl(this, this.MoveReadonlyControl, false);
}

/// <summary>
/// Tab押下時のイベント処理
/// </summary>
/// <param name="eventArgs">イベント引数</param>
protected void UOC_Form_TAB_KeyDown(RcFxEventArgs eventArgs)
{
// フォーカスがデータグリッドビュー内である場合、アクティブコントロールを変更する
if (this.ActiveControl is IDataGridViewEditingControl)
{
// 編集コントロールに変換
var dgvEditingCtrl = ActiveControl as IDataGridViewEditingControl;

// 編集コントロールのデータグリッド取得
var editingDgv = dgvEditingCtrl.EditingControlDataGridView as CustomDataGridView;
this.ActiveControl = editingDgv;
}

// 次コントロールに検証なしでフォーカス設定
ControlManager.EntrySequencedManager.FocusNextControl(this, this.MoveReadonlyControl, false);
}

/// <summary>
/// Shift+Tab押下時のイベント処理
/// </summary>
/// <param name="eventArgs">イベント引数</param>
protected void UOC_Form_ShiftAndTAB_KeyDown(RcFxEventArgs eventArgs)
{
// フォーカスがデータグリッドビュー内である場合、アクティブコントロールを変更する
if (this.ActiveControl is IDataGridViewEditingControl)
{
// 編集コントロールに変換
var dgvEditingCtrl = ActiveControl as IDataGridViewEditingControl;
// 編集コントロールのデータグリッド取得
var editingDgv = dgvEditingCtrl.EditingControlDataGridView as CustomDataGridView;
this.ActiveControl = editingDgv;
}

// 前コントロールにフォーカス設定
ControlManager.EntrySequencedManager.FocusPrevControl(this, this.MoveReadonlyControl);
}

/// <summary>
/// Enter押下時のイベント処理
/// </summary>
/// <param name="eventArgs">イベント引数</param>
protected void UOC_Form_Enter_KeyDown(RcFxEventArgs eventArgs)
{
// データグリッドビューとマルチラインテキスト、コンボボックスでドロップダウン表示時、リストボックスは対象外
if (ControlManager.EntrySequencedManager.IsEnableMoveKey(this.ActiveControl) == false)
{
return;
}

// Shiftが押されていた場合
if (((KeyEventArgs)eventArgs.E).Shift == true)
{
// 前コントロールにフォーカス設定
ControlManager.EntrySequencedManager.FocusPrevControl(this, this.MoveReadonlyControl);
}
// Shiftが押されていない場合
else
{
// アクティブコントロールがキー部最後の場合
bool isLastKeyControl = ControlManager.EntrySequencedManager.IsLastControl(this);
if (isLastKeyControl == true)
{
// キー部のデータ検証実行
bool returnValidate = this.IsKeyControlValidate();
// 検証成功の場合
if (returnValidate == true)
{
// キー部の確定処理実行
bool isSuccessAction = UDC_ActionKeyControl();
// 確定処理が成功の場合
if (isSuccessAction == true)
{
// 次データコントロールにフォーカスを設定
ControlManager.EntrySequencedManager.FocusDataControl(this, this.MoveReadonlyControl);
}
}
}
// それ以外の場合
else
{
// 次コントロールに検証ありでフォーカス設定
ControlManager.EntrySequencedManager.FocusNextControl(this, this.MoveReadonlyControl, true);
}

}
}