none
Alterar o Height de um ComboListBox RRS feed

  • Pergunta

  • bom dia amigos, gostaria de mudar essa propriedade que por Default vem com valor 22, e alterar para 20, o problema é que o controle não deixa eu fazer isso.

    existe algum meio de personalizar este controle e fazer com ele aceite como padrão 20, pois está é a altura dos meus outros controles de tela como textbox..etc;


    terça-feira, 8 de dezembro de 2015 10:32

Todas as Respostas

  • Bom dia.

    De acordo com ESSA thread, não há um modo fácil de fazer.

    As opções mostradas foram:

    1) aumentar o tamanho da fonte do combobox.

    2) setar o DrawMode para OwnerDrawVariable e customizar o ComboBox.

    3) importar a dll user32.dll e utilizar o código postado lá:

    [DllImport("user32.dll")]
            static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, Int32 wParam, Int32 lParam);
            private const Int32 CB_SETITEMHEIGHT = 0x153;
    
            private void SetComboBoxHeight(IntPtr comboBoxHandle, Int32 comboBoxDesiredHeight)
            {
                SendMessage(comboBoxHandle, CB_SETITEMHEIGHT, -1, comboBoxDesiredHeight);
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                SetComboBoxHeight(comboBox1.Handle, 150);
                comboBox1.Refresh();
            }

    Att., Rafael Simor

    terça-feira, 8 de dezembro de 2015 15:16