1

私はこの質問を見て、に設定CellBorderStyleしましNoneたが、何らかの理由でまだグリッド線が表示されていますDataGridView:

ここに画像の説明を入力

これは、コントロールを初期化するために使用しているコードです。

public FtpTransferGridView()
{
    this.AutoGenerateColumns = false;
    this.DoubleBuffered = true;
    this.ReadOnly = true;
    this.AllowUserToAddRows = false;
    this.AllowUserToDeleteRows = false;
    this.AllowUserToResizeRows = false;
    this.ShowEditingIcon = false;
    this.RowHeadersVisible = false;
    this.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
    this.AlternatingRowsDefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(240, 240, 225);
    this.RowTemplate.Height = 20;
    this.CellBorderStyle = DataGridViewCellBorderStyle.None;
    this.BackgroundColor = System.Drawing.SystemColors.Window;

    InitializeColumns();
}

ここで何が欠けていますか?

4

1 に答える 1

1

この問題は、カスタムペイントされた進行状況列のセルに関連していました。

セルペイントメソッドでは、次のようなコードがありました。

base.Paint(g, ...);
g.SmoothingMode = SmoothingMode.HighQuality;
if (value <= 0) return;

//paint the progress bar

g.SmoothingMode = SmoothingMode.None;

このエラーは、プログレスバーをペイントせずにメソッドを終了し、グラフィックスムージングモードを誤った状態のままにした場合に発生します。

チェックが問題を解決した後SmoothingModeGraphicsのみの設定:value <= 0

base.Paint(g, ...);
if (value <= 0) return;
g.SmoothingMode = SmoothingMode.HighQuality;

//paint the progress bar

g.SmoothingMode = SmoothingMode.None;
于 2013-01-28T07:01:26.447 に答える