首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DevExpress DropDownButton问题

DevExpress DropDownButton问题
EN

Stack Overflow用户
提问于 2012-09-24 21:33:33
回答 3查看 5K关注 0票数 1

我正在尝试创建一个DevEx下拉按钮。不幸的是,我遇到了两个我搞不懂的问题:

( 1)无法正确获取弹出菜单,即它不像"Office 2010 Blue“那样具有外观。我使用的代码如下所示:

代码语言:javascript
复制
        private void InitializeSendToPricingSheetButton()
        {
            var barManager = new BarManager();
            if (barManager.Controller == null) barManager.Controller = new BarAndDockingController();
            barManager.Controller.PaintStyleName = "Skin";
            barManager.Controller.LookAndFeel.UseDefaultLookAndFeel = false;
            barManager.Controller.LookAndFeel.SkinName = "Office 2010 Blue";

            barManager.ItemClick += HandleSendToPricingSheetClick;
            barManager.Items.AddRange(new[] { new BarButtonItem(barManager, "Foo"), new BarButtonItem(barManager, "Bar"), new BarButtonItem(barManager, "Baz") });

            var popupMenu = new PopupMenu { Manager = barManager };
            foreach (var barItem in barManager.Items) popupMenu.ItemLinks.Add((BarItem)barItem);
            popupMenu.ItemLinks[1].BeginGroup = true;

            dropDownButtonSendToPricingSheet.DropDownControl = popupMenu;
        }

( 2)这个按钮在表单上。如果表单失去焦点(例如,我点击Firefox),弹出菜单仍然在顶部。直到点击它才会消失。

任何建议都将是非常感激。谢谢你帮我处理DevEx的精神错乱。

EN

回答 3

Stack Overflow用户

发布于 2012-09-30 14:49:56

我有办法回答你的第二个问题。

应该添加下拉按钮事件处理程序,如下所示:

代码语言:javascript
复制
dropDownButton1.LostFocus += new EventHandler(HidePopUp);

处理程序方法应如下所示:

代码语言:javascript
复制
private void HidePopUp(object sender,object e)
        {
            dropDownButton1.HideDropDown();
        }
票数 2
EN

Stack Overflow用户

发布于 2014-05-19 15:49:49

对于第二个问题,您应该将bar manager属性的值赋值为:

代码语言:javascript
复制
BarManager manager = new BarManager();
manager.Form = this; // refers to current form 

查找下面的链接以获得参考https://www.devexpress.com/Support/Center/Question/Details/Q274641

票数 1
EN

Stack Overflow用户

发布于 2012-09-26 10:52:11

使用DefaultLookAndFeel可能更简单

将此comp添加到您的表单中,并设置要使用的主题。没有必要为各个组件设置主题。

代码语言:javascript
复制
defaultLookAndFeel1.LookAndFeel.SetSkinStyle("Office 2010 Blue");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12573244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档