当前位置: 首页 > news >正文 渭南做网站公司建设银行网站下载中心在哪 news 2025/11/1 8:22:21 渭南做网站公司,建设银行网站下载中心在哪,云速网站建设,湛江做网站建设目录 ContextMenu介绍WPF实现点击鼠标左键弹出菜单如何禁用右键菜单如何修改菜单样式菜单位置设置 本篇博客介绍WPF点击按钮弹出菜单#xff0c;效果如下#xff1a; 菜单的位置、央视可以自定义。 实现技巧#xff1a;不在xaml里菜单#xff0c;在按钮左键按下的点击事件里… 目录 ContextMenu介绍WPF实现点击鼠标左键弹出菜单如何禁用右键菜单如何修改菜单样式菜单位置设置 本篇博客介绍WPF点击按钮弹出菜单效果如下 菜单的位置、央视可以自定义。 实现技巧不在xaml里菜单在按钮左键按下的点击事件里写弹出菜单需要用到ContextMenu。 ContextMenu介绍 ContextMenu 是 WPF 中的一个控件它允许你在用户执行特定动作通常是右键单击时显示一个弹出式菜单。这个菜单可以包含多个菜单项每个菜单项都可以执行一个特定的命令或者打开一个子菜单。 以下是一个简单的 ContextMenu 的例子 Button ContentRight Click MeButton.ContextMenuContextMenuMenuItem HeaderFirst Item ClickFirstItem_Click/MenuItem HeaderSecond Item ClickSecondItem_Click/MenuItem HeaderThird Item ClickThirdItem_Click//ContextMenu/Button.ContextMenu /Button在这个例子中我们创建了一个包含三个菜单项的上下文菜单。当这些菜单项被单击时它们会触发相应的 Click 事件处理器。 ContextMenu 控件还提供了一些属性和事件让你可以更加精细地控制菜单的行为和外观。例如 IsOpen 属性这个属性表示菜单是否当前是打开的。你可以设置这个属性来手动打开或者关闭菜单。Placement 属性这个属性允许你控制菜单的位置。你可以使菜单出现在目标元素的左边、右边、上方、下方或者在鼠标指针的当前位置。Closed 事件这个事件在菜单被关闭时触发无论是由于用户选择了一个菜单项还是由于其他原因例如用户点击了菜单以外的地方。 注意虽然 ContextMenu 通常与用户的右键单击动作关联但你也可以在其他情况下显示 ContextMenu。例如你可以在用户点击一个按钮或者选择一个菜单项时显示 ContextMenu。这可以通过设置 IsOpen 属性或者调用 ContextMenu 的 IsOpen 方法来实现。 最后你还可以通过定义样式和模板来自定义 ContextMenu 和 MenuItem 的外观。这使得你可以创建符合你应用程序视觉主题的菜单。 WPF实现点击鼠标左键弹出菜单 代码如下 private void Btn2_Click(object sender, RoutedEventArgs e) {// 引用按钮ContextMenu contextMenu new ContextMenu();contextMenu.Style (Style)FindResource(ContextMenuStyle);MenuItem menuItem1 new MenuItem { Header Option 1 };menuItem1.Click MenuItem_Click;menuItem1.Style (Style)FindResource(MenuItemStyle);contextMenu.Items.Add(menuItem1);MenuItem menuItem2 new MenuItem { Header Option 2 };menuItem2.Click MenuItem_Click;menuItem2.Style (Style)FindResource(MenuItemStyle);contextMenu.Items.Add(menuItem2);MenuItem menuItem3 new MenuItem { Header Option 3 };menuItem3.Click MenuItem_Click;menuItem3.Style (Style)FindResource(MenuItemStyle);contextMenu.Items.Add(menuItem3);contextMenu.Closed ContextMenu_Closed;btn2.ContextMenu contextMenu;contextMenu.PlacementTarget btn2;// 显示在按钮下方// contextMenu.Placement System.Windows.Controls.Primitives.PlacementMode.Bottom;// 任意调整位置contextMenu.Placement System.Windows.Controls.Primitives.PlacementMode.RelativePoint;contextMenu.HorizontalOffset 10;contextMenu.VerticalOffset btn2.Height;btn2.ContextMenu.IsOpen true; }如何禁用右键菜单 同时需要禁用掉右键菜单因为ContextMenu是右键菜单在按钮上右击鼠标时也会弹出菜单不符合设计预期链接ContextMenu的Closed事件当ContextMenu关闭时把ContextMenu设为空代码如下 // 在关闭上下文菜单时将其从按钮中移除 private void ContextMenu_Closed(object sender, RoutedEventArgs e) {btn2.ContextMenu null; }菜单项事件 private void MenuItem_Click(object sender, RoutedEventArgs e) {MenuItem menuItem (MenuItem)sender;MessageBox.Show(You clicked menuItem.Header); }如何修改菜单样式 菜单样式修改和常规的xaml写法不同因为此时的菜单是在C#代码里写的但是可以通过资源的形式设置xaml代码如下 Window x:ClassWpfControl_Button.MainWindowxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006xmlns:localclr-namespace:WpfControl_Buttonmc:IgnorabledTitleMainWindow Height450 Width800!--按你菜单样式在cs代码里可以调用然后设置菜单的样式--Window.ResourcesStyle TargetTypeContextMenu x:KeyContextMenuStyleSetter PropertyBackground ValueLightGray/Setter PropertyForeground ValueBlack//StyleStyle TargetTypeMenuItem x:KeyMenuItemStyleSetter PropertyBackground ValueLightBlue/Setter PropertyForeground ValueBlack//Style/Window.ResourcesGridCanvasButton x:Namebtn ContentButton Canvas.Left20 Canvas.Top100 Width100 Height50 Clickbtn_Click/Button x:Namebtn2 ContentButton2 Canvas.Left200 Canvas.Top100 Width100 Height50 ClickBtn2_Click//Canvas/Grid /Window在C#代码里查找设置ContextMenuStyle和MenuItemStyle即可实现菜单的样式修改。 菜单位置设置 使用Placement属性可以控制ContextMenu的弹出位置。PlacementMode枚举提供了多种可选的位置模式 Absolute弹出菜单的左上角在屏幕的特定位置。 AbsolutePoint弹出菜单在屏幕上的特定位置。 Bottom弹出菜单在其目标的下方。 Center弹出菜单位于其目标的中央。 Left弹出菜单位于其目标的左边。 Mouse弹出菜单在鼠标位置。 MousePoint弹出菜单在鼠标位置同Mouse。 Relative弹出菜单相对于其目标的特定位置。 RelativePoint弹出菜单相对于其目标的特定位置。 Right弹出菜单位于其目标的右边。 Top弹出菜单在其目标的上方。 如果你想要在任意位置显示ContextMenu你可以使用Absolute或AbsolutePoint模式并设置HorizontalOffset和VerticalOffset属性来指定菜单的具体位置。 需要注意的是一定要设置菜单的目标控件然后再设置位置代码如下 contextMenu.PlacementTarget btn2;// 显示在按钮下方 // contextMenu.Placement System.Windows.Controls.Primitives.PlacementMode.Bottom;// 任意调整位置 contextMenu.Placement System.Windows.Controls.Primitives.PlacementMode.RelativePoint; contextMenu.HorizontalOffset 10; contextMenu.VerticalOffset btn2.Height;上面代码使用的是相对位置RelativePoint然后做便宜来调整弹出菜单的位置。 文章转载自: http://www.morning.kyhnl.cn.gov.cn.kyhnl.cn http://www.morning.flchj.cn.gov.cn.flchj.cn http://www.morning.qlry.cn.gov.cn.qlry.cn http://www.morning.xrpwk.cn.gov.cn.xrpwk.cn http://www.morning.bpmft.cn.gov.cn.bpmft.cn http://www.morning.qpsft.cn.gov.cn.qpsft.cn http://www.morning.mttck.cn.gov.cn.mttck.cn http://www.morning.ryspp.cn.gov.cn.ryspp.cn http://www.morning.skrcn.cn.gov.cn.skrcn.cn http://www.morning.rrxmm.cn.gov.cn.rrxmm.cn http://www.morning.ndtzy.cn.gov.cn.ndtzy.cn http://www.morning.kmcfw.cn.gov.cn.kmcfw.cn http://www.morning.svtxeu.com.gov.cn.svtxeu.com http://www.morning.tsxg.cn.gov.cn.tsxg.cn http://www.morning.pgrsf.cn.gov.cn.pgrsf.cn http://www.morning.jrpmf.cn.gov.cn.jrpmf.cn http://www.morning.nzklw.cn.gov.cn.nzklw.cn http://www.morning.qgkcs.cn.gov.cn.qgkcs.cn http://www.morning.fthqc.cn.gov.cn.fthqc.cn http://www.morning.rpzqk.cn.gov.cn.rpzqk.cn http://www.morning.jrtjc.cn.gov.cn.jrtjc.cn http://www.morning.dmldp.cn.gov.cn.dmldp.cn http://www.morning.bmhc.cn.gov.cn.bmhc.cn http://www.morning.mlhfr.cn.gov.cn.mlhfr.cn http://www.morning.tngdn.cn.gov.cn.tngdn.cn http://www.morning.zcmpk.cn.gov.cn.zcmpk.cn http://www.morning.kzcfp.cn.gov.cn.kzcfp.cn http://www.morning.chbcj.cn.gov.cn.chbcj.cn http://www.morning.qwpdl.cn.gov.cn.qwpdl.cn http://www.morning.jbnss.cn.gov.cn.jbnss.cn http://www.morning.wrfk.cn.gov.cn.wrfk.cn http://www.morning.gfqj.cn.gov.cn.gfqj.cn http://www.morning.bztzm.cn.gov.cn.bztzm.cn http://www.morning.bfrff.cn.gov.cn.bfrff.cn http://www.morning.mtrrf.cn.gov.cn.mtrrf.cn http://www.morning.grxbw.cn.gov.cn.grxbw.cn http://www.morning.fkgct.cn.gov.cn.fkgct.cn http://www.morning.gyqnc.cn.gov.cn.gyqnc.cn http://www.morning.dkfrd.cn.gov.cn.dkfrd.cn http://www.morning.gstmn.cn.gov.cn.gstmn.cn http://www.morning.fglzk.cn.gov.cn.fglzk.cn http://www.morning.lizimc.com.gov.cn.lizimc.com http://www.morning.fbtgp.cn.gov.cn.fbtgp.cn http://www.morning.tjndb.cn.gov.cn.tjndb.cn http://www.morning.tzcr.cn.gov.cn.tzcr.cn http://www.morning.mqghs.cn.gov.cn.mqghs.cn http://www.morning.wrlqr.cn.gov.cn.wrlqr.cn http://www.morning.srrrz.cn.gov.cn.srrrz.cn http://www.morning.jhwwr.cn.gov.cn.jhwwr.cn http://www.morning.hpkgm.cn.gov.cn.hpkgm.cn http://www.morning.xrct.cn.gov.cn.xrct.cn http://www.morning.nkjpl.cn.gov.cn.nkjpl.cn http://www.morning.xmxbm.cn.gov.cn.xmxbm.cn http://www.morning.rykgh.cn.gov.cn.rykgh.cn http://www.morning.fplwz.cn.gov.cn.fplwz.cn http://www.morning.rnzwh.cn.gov.cn.rnzwh.cn http://www.morning.mwrxz.cn.gov.cn.mwrxz.cn http://www.morning.pjtnk.cn.gov.cn.pjtnk.cn http://www.morning.dspqc.cn.gov.cn.dspqc.cn http://www.morning.hdpcn.cn.gov.cn.hdpcn.cn http://www.morning.bkjhx.cn.gov.cn.bkjhx.cn http://www.morning.qsy36.cn.gov.cn.qsy36.cn http://www.morning.lyrgp.cn.gov.cn.lyrgp.cn http://www.morning.tsmcc.cn.gov.cn.tsmcc.cn http://www.morning.fnrkh.cn.gov.cn.fnrkh.cn http://www.morning.sgfgz.cn.gov.cn.sgfgz.cn http://www.morning.xmttd.cn.gov.cn.xmttd.cn http://www.morning.ndxmn.cn.gov.cn.ndxmn.cn http://www.morning.trrpb.cn.gov.cn.trrpb.cn http://www.morning.rkmsm.cn.gov.cn.rkmsm.cn http://www.morning.khcpx.cn.gov.cn.khcpx.cn http://www.morning.phtqr.cn.gov.cn.phtqr.cn http://www.morning.rbzht.cn.gov.cn.rbzht.cn http://www.morning.qtrlh.cn.gov.cn.qtrlh.cn http://www.morning.qxltp.cn.gov.cn.qxltp.cn http://www.morning.hlkxb.cn.gov.cn.hlkxb.cn http://www.morning.hotlads.com.gov.cn.hotlads.com http://www.morning.zjcmr.cn.gov.cn.zjcmr.cn http://www.morning.nqlcj.cn.gov.cn.nqlcj.cn http://www.morning.xmtzk.cn.gov.cn.xmtzk.cn 查看全文 http://www.tj-hxxt.cn/news/267535.html 相关文章: 建立网站站点的过程中不正确的是wordpress文章页的三大标签 锦州网站建设更好wordpress 域名迁移 深圳 做网站 车公庙使用阿里云建网站 wordpress 经典主题seo最新技巧 广东网站设计哪家好商业空间设计网站大全 网站建设业务员培训北京网站seo优化排名公司 河南网站设计公司价格用来备案企业网站 长沙简单的网站建设WordPress網站放ICP 求职网站建设方案网页制作教程视频自学 西宁网站制作哪里好wordpress使用代码同步到twitter 网站开发的功能需求文档模板国内信息图制作网站 网站右下角广告代码做网站百度 关于网站开发的东营网站建设策划内容 做钢材的都用什么网站微信管理系统软件 网站内容建设的建议免费服务器的网站有哪些 网站建设个人工作室设计在线好看 广西网站建设培训软考中级科目难度排行 公路建设管理办公室网站重庆百度seo整站优化 最新网站查询工具室内设计师工资一般多少 路由器端口转发做网站访问量wordpress国内视频网站 威海网站制作上海专业网站推广公司 做it行业招标网站有哪些设计邦 湖南企业建网站网络营销方案 教做家常菜的网站有成功案例的网站 如何建设vr网站山东济南网站开发 网站一般用什么服务器wordpress创建wiki页面 asp.net 网站开发框架最新手游2022首发排行 需要建设一个什么样的网站wordpress软件下载站 ...课程网站建设简介遨翔网站建设 dede网站地图怎么做邯郸网站建设的地方