2016-12-20 90 views
1

私は3行2列のdatagridviewを持っています。私の行と列にヘッダーがあります。VB.NET - datagridviewの左上隅のセルを非表示にする

問題は、私のdatagridviewの左上隅に空のセルがあることです。私はそれが私の行ヘッダーの列ヘッダーかそういったものだと思う。私はこのセルを隠すのに成功しません、それは可能ですか? EDIT

hide this cell | colHead1| colHead2 | 
-------------------------------------- 
firstname  | x  | y  | 
lastname  | x1  | y1  | 
society   | x2  | y2  | 

はあなたに

例をありがとう 私はFalseにプロパティdtgv.TopLeftHeaderCell.Visibleを設定しようとしましたが、それは読み取り専用です。

+0

あなたは 'DataGridView1.RowHeadersVisible = false'を設定することができますが、私はあなたができるとは思いませんあなたが望むものを達成する。列ヘッダーと行ヘッダーの両方が表示されている場合は、存在する必要があるセルを非表示にするよう求めています。 – OhBeWise

+0

@OhBeWiseはい、私はフォームの背景を表示したいと思います。 VisibleプロパティをFalseに設定すると、ヘッダーが隠されてしまいます。 – nbadaud

+0

@OhBeWiseああ申し訳ありませんが、私は休暇中だったので、あなたの解決策を試すのを忘れました。それは非常にうまくいく、ありがとう! – nbadaud

答えて

0

私のコメントを取り消します。あなたはで実現できます。私は、フォームの背景を表示したいと思い

If e.RowIndex < 0 AndAlso e.ColumnIndex < 0 Then 
    Using brush As New SolidBrush(Me.dataGridView1.BackgroundColor) 
     e.Graphics.FillRectangle(brush, e.CellBounds) 
    End Using 

    e.Handled = True 
End If 

enter image description here


:たとえば、DataGridView当たり障りのない/無修正でごDataGridView.CellPaintingイベントハンドラで、あなたはとてもような背景を一致させることができます

DataGridViewの背景をフォームのバックグラウンドに設定したい場合はユーザーによるこれらの2つの(C#)回答Deumberletsdanceは、フォームのイメージの正しい部分をDataGridViewにトリミングする一般的なセットアップを示しています。ハンドラが動作するはずですあなたのDataGridView.CellPaintingイベントを次のように変更と相まって(SetCellsTransparent()を呼び出すことなく)そのメソッドを使用して:

If e.RowIndex < 0 AndAlso e.ColumnIndex < 0 Then 
    e.Graphics.FillRectangle(Brushes.Transparent, e.CellBounds) 
    e.Handled = True 
End If 

enter image description here

関連する問題