MenuItem.MeasureItem Evento
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Ocorre quando o menu precisa saber o tamanho de um item de menu antes de desenhá-lo.
public:
event System::Windows::Forms::MeasureItemEventHandler ^ MeasureItem;
public event System.Windows.Forms.MeasureItemEventHandler MeasureItem;
member this.MeasureItem : System.Windows.Forms.MeasureItemEventHandler
Public Custom Event MeasureItem As MeasureItemEventHandler
Tipo de evento
Exemplos
O exemplo de código a seguir demonstra o uso desse membro. No exemplo, um manipulador de eventos relata a ocorrência do MeasureItem evento. Este relatório ajuda você a saber quando o evento ocorre e pode ajudá-lo na depuração.
Para executar o código de exemplo, cole-o em um projeto que contém uma instância do tipo MenuItem chamada MenuItem1
. Em seguida, verifique se o manipulador de eventos está associado ao MeasureItem evento.
private void MenuItem1_MeasureItem(Object sender, MeasureItemEventArgs e) {
System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "Graphics", e.Graphics );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Index", e.Index );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "ItemHeight", e.ItemHeight );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "ItemWidth", e.ItemWidth );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "MeasureItem Event" );
}
Private Sub MenuItem1_MeasureItem(sender as Object, e as MeasureItemEventArgs) _
Handles MenuItem1.MeasureItem
Dim messageBoxVB as New System.Text.StringBuilder()
messageBoxVB.AppendFormat("{0} = {1}", "Graphics", e.Graphics)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "Index", e.Index)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "ItemHeight", e.ItemHeight)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "ItemWidth", e.ItemWidth)
messageBoxVB.AppendLine()
MessageBox.Show(messageBoxVB.ToString(),"MeasureItem Event")
End Sub
Comentários
Para que esse evento seja gerado, você deve ter a OwnerDraw propriedade do item de menu definida true
como . Esse evento é gerado antes que os menus desenhados pelo proprietário sejam desenhados para permitir que o tamanho do item de menu seja especificado. Para obter mais informações sobre como lidar com eventos, consulte Manipulando e gerando eventos.