DateTimePickerコントロールで日付の選択
思うように進んでいない、統合管理のVB.netへの移行ですが、悩みが一つ解決しました。
カレンダーコントロールという日付をカレンダーから取得する機能があります。
フォームに配置したコントロールBOなら、何も考えずに使えるのですが、今回はデータグリッドビューの中で使いたかったので、手こずりました。
実装の為の方法は、方法 : Windows フォーム DataGridView Cells でコントロールをホストする にコードの記述があるのですが、何をどうすればいいのか、まったく理解できませんでした。
説明の中に何箇所か書かれている「クラスを定義する」という言葉に従って、
クラスを追加し、前述のサイトに記載されているコードを張り付けてやったら、ちゃんと動作しました。
Public Class Form1の記述は削除しました。
一度、デバッグ操作をしてやらないと、選択できなかったのが、不可解ですが、
CalendarColumnの選択が出来ました。
このように実装できたのですが、
カレンダーが出るまでに、3回クリックしなければならず、クリック回数を減らせる方法を探しています。
« パンク? | トップページ | バンドブレーキ音鳴り待ち »
「VB.net 業務管理」カテゴリの記事
- Accessフォームで住所→郵便番号変換(2016.06.05)
- 郵便番号は入りませんでした。(2016.05.30)
- 住所→郵便番号変換(2016.05.24)
- BlueTooth USBアダプタ その後(2016.02.12)
- VBAに戻ります。(2015.05.03)
遅レスですが、検索していて、ちょっとたどり着いてサンプルをお借りしました。
クリックを減らす方法ですが、DataGridView.CellEnterイベント内で、該当セルのとき、
F2キーイベント、F4キーイベントを順に発生させてやれば選択表示まで一気にいけます
ご参考になれば幸いです。
Dim dgv As DataGridView = CType(sender, DataGridView)
Dim cIndex As Integer = e.ColumnIndex
Dim rIndex As Integer = e.RowIndex
If dgv.Columns(cIndex).Name = clTyakuBi.Name AndAlso
TypeOf dgv.Columns(cIndex) Is DataGridViewCalendarColumn Then
SendKeys.Send("{F2}")
SendKeys.Send("{F4}")
Exit Sub
End If
投稿: | 2020年3月13日 (金) 10時00分
名前なしさん コメントありがとうございます。
参考にさせて頂きます。
投稿: あのこら | 2020年3月13日 (金) 12時07分