共用方式為


MenuItem.MeasureItem 事件

定義

發生於功能表繪製前需要先知道功能表項目的大小時。

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 

事件類型

範例

下列程式碼範例示範此成員的使用。 在此範例中,事件處理常式會報告事件發生次數 MeasureItem 。 此報告可協助您瞭解事件發生的時間,並可協助您進行偵錯。

若要執行範例程式碼,請將它貼到包含名為 MenuItem1 之型 MenuItem 別實例的專案。 然後,確定事件處理常式與事件相關聯 MeasureItem

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

備註

若要引發此事件,您必須將 OwnerDraw 功能表項目的 屬性設定為 true 。 在繪製擁有者繪製功能表之前,會引發此事件,以允許指定要繪製之功能表項目的大小。 如需處理事件的詳細資訊,請參閱 處理和引發事件

適用於

另請參閱