MenuItem.MeasureItem 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当菜单在绘制菜单项之前需要知道菜单项大小时发生。
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
。 在绘制所有者绘制的菜单之前引发此事件,以便指定要绘制的菜单项的大小。 有关处理事件的详细信息,请参阅 处理和引发事件。