Quantcast
Channel: OKWAVE 最新質問(Visual Basic/257)【本日】
Viewing all articles
Browse latest Browse all 6510

VB.net2010  割り込みの共通化

$
0
0
VB.net 2010でプログラムを作成して居ます。 やりたい内容が同じで、同じコントロールを幾つか使う時、処理は共通にする事があると思います。 Case 1 sub_Std_Vlt_Dsp(0, frmMain.dgv_Std_100) '100Vの規格編集表示 Case 2 sub_Std_Vlt_Dsp(1, frmMain.dgv_Std_120) '120Vの規格編集表示 Case 3 sub_Std_Vlt_Dsp(2, frmMain.dgv_Std_200) '200Vの規格編集表示 この場合、sub_Std_Vlt_Dsp()は Sub sub_Std_Vlt_Dsp(ByVal iVolt As Integer, ByVal dgvList As System.Windows.Forms.DataGridView) '規格テーブルの編集/Edit of standars. '入力/Input   'iVolt as Integer 電圧ID/Voltage ID 'dgvList as DataGridView 表/List dgvList.Rows.Clear() '表示内容の初期化 'セルの設定 Setting of each cell dgvList.Columns(0).Width = 30 dgvList.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter dgvList.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter この様に記述する事により、各々のデーターグリッドビューをdgvListとして処理出来ます。 そこで、割り込みの時なのですが、やはり複数のデーターグリッドビューのCellEndEditでの処理が同じなので、上記例の様に処理する事は可能でしょうか。 現在は各データーグリッドビュー毎に以下の様なコーディングをして居ます。 Private Sub dgv_Std_200_CellEndEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv_Std_200.CellEndEdit '電圧毎の規格編集処理 '0:規格命令 1:結果命令 2:倍率 3:符号(1:マイナス可) 4:表示(1:非表示) '5:単位 6:項目 7:最大値 8:最小値 bUpdItm = True '編集ありフラグTrue設定 btnStdUpdate.Enabled = True '更新ボタン利用可 btnStdCancel.Enabled = True '取り消しボタン利用可 Select Case e.ColumnIndex 'コラム別処理/Process by each column Case 0 '列0/Column 0 規格コマンド bStatus = fncChkHex(dgv_Std_200(0, e.RowIndex).Value, 0, 2) 'コマンド 空白か2桁のヘキサ文字 Case 1 '列1/Column 1 結果コマンド/Result command bStatus = fncChkHex(dgv_Std_200(1, e.RowIndex).Value, 0, 2) 'コマンド 空白か2桁のヘキサ文字 処理内容が各データーグリッドビュー同じなので一つの割り込み先にまとめたいと思っています。 上記の dgv_Std_200() を何らかの方法で他のデーターグリッドビューの時でも使える様にしたいのです。 なお、Handles の所に他のデーターグリッドビューのCellEndEditの飛び先を追加すれば、この割り込み処理に飛べる事は分つています。 直接先の例の様にコントロールの継承で無くても、例えばデーターグリッドビューの違いを番号等で伝えてもらつても構いません。 以前使って居たC++Builderは割り込み元のIDが取り込める様に成っていました。 どなたか、お分かりに成る方が居られましたらお教え下さい。

Viewing all articles
Browse latest Browse all 6510

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>