• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:このロジックの修正点を教えていただけませんか?)

DataGridViewの列ごとの入力制御に関する修正方法

このQ&Aのポイント
  • DataGridViewを使用して列ごとに入力制御を設ける方法について修正が必要です。
  • 修正方法として、DataGridViewのCellEnterイベントを使用して列ごとの入力制御を行います。
  • また、DataGridViewのEditingControlShowingイベントを使用してテキストボックス列のみに入力制御を適用します。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

ハンドラを設定しているグリッドと KeyPressイベントで見ているグリッドは違っていますがこれでいいのですか? KeyPressイベントはもう少し簡潔に書けると思いますよ dim ss as String = 請求明細DataGridCommon.Columns(columnIndex).Name Select Case e.KeyChar case chr( Keys.Back ) case chr( Keys.D0 ) to chr(Keys.D9) case "-"   if ss<>"重さ" then     e.handled = True   end if case ".",Chr(Keys.Decimal), Chr(Keys.Oemcomma), Chr(Keys.OemPeriod)   if ss <> "秒" then     e.handled = True   end if case else   if ss<>"日本語" then     e.handled = True   end if End Select と言った具合です ・・・ 私なら WithEventsでオブジェクトを宣言しておき EditingControlShowingで オブジェクトを代入 CellEndEditで オブジェクトをNothing オブジェクトのEnterイベントで オブジェクトのImeModeを設定 KeyPressイベントは上記の内容 と言った具合にします

関連するQ&A