【目的】datagridviewの一部セルを入力可能とする為、入力可能セルの境界線をtextboxのように表示したい。その際、入力不可能なセルは境界線を非表示とする。
【現状】datagridview cellpaintingイベントにてdrawrectangleメソッドを呼び出し、datagridview内のセルに四角形の枠を描画しています。
そして、四角形の上にdrawtextメソッドを呼び出し、セルの値を四角形の上に描画しています。四角形の枠を描画したセルはreadonlyがfalseである入力可能なセルです。
【問題】
その入力可能なセルをクリックすると、描画された四角形が消えてしまいます。当然四角形の上に描画したセル内の値も消えます(こちらは都合がいいので問題ではない)
【質問】
描画された四角形のみ残すことは可能なのでしょうか。可能であれば方法もご教授下さい。
また、上記の方法に囚われずに目的を達成できる方法もありましたら、ご教授下さい。
現状ロジック追記 202007141607
cellpainting(sender,e) イベント時
if 入力文字列の時
e.graphics.drawrectangle(new pen(黒)), new rectangle(表示位置)
textrender.drawtext(e.graphics, cstr(e.value),e.cellstyle.font,e.cellbounds,e.cellstyle.forecolor,textformatflags.right)
e.handled = true
end if
イベント終了
回答3件
あなたの回答
tips
プレビュー