13

を使用してC# Windows Forms;

私はDataGridViewいくつかのセルを持っています。セルに数字 (1 ~ 9) を表示したいと思います。数字は、フォーマット内で互いの下に配置する必要があり3x3ます。

私は周りを見回しましたが、最終的にはrichtextboxセルのかなり複雑なカスタム実装しかありませんでした。

を描画してcustom rectangleから、これをセルなどに実装する方法はありbackgroundimageますか? セルは数回再描画する必要があります。paintそのため、私が推測するイベントを呼び出すことはできません。

注:ユーザーはセルを編集しないでください。

4

3 に答える 3

26

これで満足していただけるかわかりませんが、Environment.NewLineセル内に単純な改行を作成するために使用できます。

例:

string nl = Environment.NewLine; // new line variable
string data = "1 2 3" + nl + "4 5 6" + nl + "7 8 9";

後で追加:

エイドリアンがコメントで言ったように、次のことを行う必要があります。

  1. の WrapMode を に設定しますDataGridViewColumnDataGridViewTriState.True

  2. 行の高さを設定するか、DataGridViewAutoSizeRowsModeDataGridViewAutoSizeRowsMode.AllCells

その列を編集したくない場合は、DataGridView.Column.ReadOnlyプロパティを に設定できますtrue

更新: 上記の情報でこのプロパティを見つけるのに時間がかかりました. VS C# 2017 では、WrapMode プロパティは datagridviewDefaultCellStyleダイアログにあります。

于 2013-05-13T03:20:00.223 に答える
3

補足として:

dataGridView.Columns[x].DefaultCellStyle.WrapMode = DataGridViewTriState.True;
dataGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;

x = 列インデックス

于 2020-07-22T08:33:24.703 に答える