質問編集履歴
1
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,9 +1,17 @@
|
|
1
1
|
【目的】datagridviewの一部セルを入力可能とする為、入力可能セルの境界線をtextboxのように表示したい。その際、入力不可能なセルは境界線を非表示とする。
|
2
2
|
【現状】datagridview cellpaintingイベントにてdrawrectangleメソッドを呼び出し、datagridview内のセルに四角形の枠を描画しています。
|
3
|
-
そして、四角形の上にdrawtextメソッドを呼び出し、セルの値を四角形の上に描画しています。四角形の枠を描画したセルはreadonlyが
|
3
|
+
そして、四角形の上にdrawtextメソッドを呼び出し、セルの値を四角形の上に描画しています。四角形の枠を描画したセルはreadonlyがfalseである入力可能なセルです。
|
4
4
|
【問題】
|
5
5
|
その入力可能なセルをクリックすると、描画された四角形が消えてしまいます。当然四角形の上に描画したセル内の値も消えます(こちらは都合がいいので問題ではない)
|
6
6
|
【質問】
|
7
7
|
描画された四角形のみ残すことは可能なのでしょうか。可能であれば方法もご教授下さい。
|
8
8
|
また、上記の方法に囚われずに目的を達成できる方法もありましたら、ご教授下さい。
|
9
|
+
|
10
|
+
現状ロジック追記 202007141607
|
11
|
+
cellpainting(sender,e) イベント時
|
12
|
+
if 入力文字列の時
|
9
|
-
|
13
|
+
e.graphics.drawrectangle(new pen(黒)), new rectangle(表示位置)
|
14
|
+
textrender.drawtext(e.graphics, cstr(e.value),e.cellstyle.font,e.cellbounds,e.cellstyle.forecolor,textformatflags.right)
|
15
|
+
e.handled = true
|
16
|
+
end if
|
17
|
+
イベント終了
|