我使用的是vb.net 2.0,我想在DataGridViewButtonColumn中設置圖標或圖像。我知道這個班沒有會員。任何人有想法?DataGridViewButtonColumn圖標
2
A
回答
4
但像往常一樣,你谷歌vb.Net並在C#中得到答案。我在developerfusion網站上使用了C#到vb.net工具來幫助我轉換爲vb.net,但通常最終會改變相當數量。
一旦你有一個指針,這真的很容易。
在dataGridView_CellPainting
事件中添加這樣的事情
Private Sub InvoiceLinesDataGridView_CellPainting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellPaintingEventArgs) Handles InvoiceLinesDataGridView.CellPainting
If e.ColumnIndex = 3 AndAlso e.RowIndex >= 0 Then
e.Paint(e.CellBounds, DataGridViewPaintParts.All)
Dim bmpFind As Bitmap = My.Resources.binoc16_h1
Dim ico As Icon = Icon.FromHandle(bmpFind.GetHicon)
e.Graphics.DrawIcon(ico, e.CellBounds.Left + 3, e.CellBounds.Top + 3)
e.Handled = True
End If
End Sub
只是爲了解釋這一點,我想使用的資源是一個位圖,所以我認爲轉化爲一個圖標也。這對我來說真的很好,我得到一個適當的按鈕列與圖像。列索引有點粗糙,因爲這可能會改變,所以我希望使用列名稱來引用 - 不應該太難,但你明白了。比我看到的其他選項容易得多,可以讓您製作擴展的自定義列類型。
這真的應該只是原始控制的一部分,我無法理解爲什麼MS癱瘓電網這麼多。我一直在嘗試使用像Telerik這樣的第三方控件,但是原件似乎總是比較穩定,所以現在看到我是否可以堅持使用香草控件並在需要的地方添加我的擴展。
0
您可以嘗試使用DataGridViewImageColumn添加附加一個事件到網格的CellContentClick事件(在事件過程中只的事件從列/列是正在添加/是圖像)
2
我創建了一個可以在CellPainting datagridview事件中調用的方法。
Public Shared Sub SetImageToDataGridViewButtonColumn_CallInCellPaintingEvent(ByRef img As Bitmap, e As System.Windows.Forms.DataGridViewCellPaintingEventArgs)
e.Paint(e.CellBounds, DataGridViewPaintParts.All & (DataGridViewPaintParts.ContentBackground) & (DataGridViewPaintParts.ContentForeground))
Dim destRect As Rectangle = New Rectangle(e.CellBounds.X + (e.CellBounds.Width - img.Width)/2, e.CellBounds.Y + (e.CellBounds.Height - img.Height)/2, img.Width, img.Height)
Dim srcRect As Rectangle = New Rectangle(0, 0, img.Width, img.Height)
e.Graphics.DrawImage(img, destRect, srcRect, GraphicsUnit.Pixel)
e.Handled = True
End Sub
在CellPainting事件中,調用此方法在按鈕和e上傳遞想要的圖像。確保你使用某種形式的條件,你需要的列設置,這個例子中,如果指定0列,還請注意,我有我的My.Resources圖像:
Private Sub dgv_CellPainting(sender As Object, e As System.Windows.Forms.DataGridViewCellPaintingEventArgs) Handles dgv.CellPainting
If (e.ColumnIndex = 0 And e.RowIndex >= 0) Then
SetImageToDataGridViewButtonColumn_CallInCellPaintingEvent(My.Resources.myImg, e)
End If
End Sub
溫馨提示:我發現16×16的PNG是完美的我的用途。您可以使用http://images.my-addr.com/resize_png_online_tool-free_png_resizer_for_web.php
相關問題
- 1. DataGridViewButtonColumn
- 2. 設置在圖像上DataGridViewButtonColumn
- 3. c#DataGridViewButtonColumn auto click
- 4. DataGridViewButtonColumn充當DataGridViewCheckBoxColumn
- 5. 無法顯示DataGridViewButtonColumn中的文本
- 6. 如何使用DataGridViewButtonColumn非綁定的DataGridView
- 7. 更改DataGridViewButtonColumn的每行按鈕文本
- 8. DataGridViewButtonColumn啓用按鈕綁定布爾字段
- 9. Windows窗體 - 如何在DataGridViewButtonColumn中顯示更新/取消按鈕?
- 10. 如何在一列中創建兩個DataGridViewButtonColumn?
- 11. 如何分離整個DataGridView的CellClick事件的DataGridViewButtonColumn上的CellClick?
- 12. .net Datagrid WinForm - 添加一個DataGridViewButtonColumn自動添加一行
- 13. 區分DataGridViewButtonColumn和DataGridViewTextColumn單元格單擊事件
- 14. 如何獲取/設置單元格中DataGridViewButtonColumn的值?
- 15. DatagridviewButtonColumn對每行都可見,當點擊行/列的單元格時
- 16. Overiride圖標圖標
- 17. J2ME圖標圖標
- 18. css圖標圖像或圖標圖像?
- 19. html圖標中的圖標
- 20. Java圖標圖標數組
- 21. 圖標/圖片標題
- 22. setSmallIcon(圖標:圖標),並NotificationCompat
- 23. 在標記圖標
- 24. Android標記圖標
- 25. CSS +圖標=徽標
- 26. 圖標
- 27. 圖標
- 28. 標圖
- 29. 圖標
- 30. XPiNC視圖圖標