溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C#窗體控件DataGridView常用設(shè)置

發(fā)布時(shí)間:2020-10-19 03:31:48 來源:腳本之家 閱讀:261 作者:云夢(mèng)鴻 欄目:編程語言

在默認(rèn)情況下,datagridview的顯示效果:

C#窗體控件DataGridView常用設(shè)置

1.禁用最后一行空白。

默認(rèn)情況下,最后一行空白表示自動(dòng)新增行,對(duì)于需要在控件中進(jìn)行編輯,可以保留

dataGridView1.AllowUserToAddRows = false;

上述禁用,僅是將用戶界面交互的自動(dòng)新增行禁了,但還是可以通過代碼:dataGridView1.Rows.Add();來新增一行空白。

2.禁用‘delete'鍵的刪除功能。

默認(rèn)情況,鼠標(biāo)選中一整行,按 刪除鍵 可以刪除當(dāng)前一整行

dataGridView1.AllowUserToDeleteRows = false;

上述禁用,僅是將用戶界面交互的自動(dòng)新增行禁了,但還是可以通過代碼:

dataGridView1.Rows.Remove(DataGridViewRow dataGridViewRow);

或者

dataGridView1.Rows.RemoveAt(int index);

來刪除指定行數(shù)據(jù)。

3.啟用鼠標(biāo)拖拽列功能

啟用后,可以通過鼠標(biāo)拖拽,對(duì)列的順序進(jìn)行重排序。但是拖拽不會(huì)影響各列通過代碼訪問時(shí)的列序號(hào)(保持原來的序號(hào)),只是展示效果變化。

dataGridView1.AllowUserToOrderColumns = true; 

4.禁用鼠標(biāo)拖動(dòng)行高度、列寬度

禁用后,不能通過鼠標(biāo)交互改變列的寬度和行的高度。不影響通過代碼設(shè)置

dataGridView1.AllowUserToResizeColumns = false; // 禁拖動(dòng)列寬度
dataGridView1.AllowUserToResizeRows = false; // 禁拖動(dòng)行高度

5.禁用鼠標(biāo)拖動(dòng)行標(biāo)題(最左側(cè)空白列)寬度

dataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing; // 枚舉,可以枚舉位自適應(yīng)大小 

6.禁用單元格編輯功能

dataGridView1.ReadOnly = true;

 7.點(diǎn)擊選中整行、整列

dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;// 單擊選中整行,枚舉

SelectionMode 為枚舉類型:

C#窗體控件DataGridView常用設(shè)置 

8.禁用多行/多列/多單元格選擇

dataGridView1.MultiSelect = false;

9.設(shè)置表格網(wǎng)格線顏色等樣式

dataGridView1.AdvancedCellBorderStyle.Top = DataGridViewAdvancedCellBorderStyle.InsetDouble; 
// 設(shè)置邊框樣式(上邊框),枚舉:雙線內(nèi)陷邊框
// ...
dataGridView1.GridColor = Color.SeaGreen; //邊框線 顏色

10.自動(dòng)行序號(hào)

沒有直接的設(shè)置屬性,需要借助控件渲染事件:dataGridView1.CellPainting+=dataGridView1_CellPainting;

//在單元格需要繪制時(shí)發(fā)生。
  private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
  {
   if (e.ColumnIndex < 0 && e.RowIndex >= 0) // 繪制 自動(dòng)序號(hào)
   {
    e.Paint(e.ClipBounds, DataGridViewPaintParts.All);
    Rectangle vRect = e.CellBounds;
    vRect.Inflate(-2, 2);
    TextRenderer.DrawText(e.Graphics, (e.RowIndex + 1).ToString(), e.CellStyle.Font, vRect, e.CellStyle.ForeColor, TextFormatFlags.Right | TextFormatFlags.VerticalCenter);
    e.Handled = true;
   }

   // ----- 其它樣式設(shè)置 -------
   if (e.RowIndex % 2 == 0)
   { // 行序號(hào)為雙數(shù)(含0)時(shí) 
    e.CellStyle.BackColor = Color.White;
   }
   else
   {
    e.CellStyle.BackColor = Color.Honeydew; 
   }
   e.CellStyle.SelectionBackColor = Color.Gray; // 選中單元格時(shí),背景色
   e.CellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; //單位格內(nèi)數(shù)據(jù)對(duì)齊方式

  }

顯示效果:

C#窗體控件DataGridView常用設(shè)置

 以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI