Вот, что получилось. Просьба прокомментировать.
| Код | Public Class ComboBoxEx Inherits Control Public cb As New Windows.Forms.ComboBox Private Declare Function SendMessage Lib "coredll" (ByVal hWnd As IntPtr, ByVal Msg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer Const CB_SETITEMHEIGHT = 339 Const CB_GETITEMHEIGHT = 340
Public Sub New() With Me .Controls.Add(cb) End With End Sub
Private Sub ComboBoxEx_ParentChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.ParentChanged cb.Width = Me.Width cb.Height = Me.Height SendMessage(cb.Handle, CB_SETITEMHEIGHT, 0, Me.Height - 8) ' высота строк End Sub
Private Sub ComboBoxEx_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint SendMessage(cb.Handle, CB_SETITEMHEIGHT, -1, Me.Height - 8) ' высота элемента End Sub End Class
|
|