2016-10-25 55 views
-2

您好我的Windows窗体与复选框。我想启用/禁用单个按钮附加到我的功能区。伤人有人向我展示正确的方式? XML代码丝带的从窗体启用/禁用功能区按钮

部分看起来像这样

<tab idMso="TabNewMailMessage"> 
     <group id="Kompresja2" 
       label="Lab1"> 
      <toggleButton id="Kompresja6" 
       imageMso="Smile" 
       onAction="ProcedureX" 
       getPressed="Wcisnieto" 
       getEnabled="Czytaj_stan" 
       label="Lab2" 
       size="large" 
      /> 
     </group> 
     </tab> 
+0

很多功能区控件都围绕在每个人都可用的工具箱中,因为.NET框架没有。你需要对你正在使用的那个更加具体。在你的问题上使用适当的标签。 –

+0

为什么问一个问题,没有得到答复得分减。一些废话。 –

+0

更具体?好。 Ive Windows Form在我的VB.Office项目中,带有任何控件。我想推动其中一个来控制我自己的Ribbon按钮,因为我希望在菜单中打开和关闭(启用/禁用它)。也许有人知道如何做到这一点,另一个则推动减去这个职位。 –

回答

0
  • 的getEnabled回调函数(你的情况Czytaj_stan)检查,看看是否按钮启用与否 - 返回true如果按钮应该
    被启用,否则为False。

  • 只要功能区控制无效,每当办公应用程序决定需要时,都会调用getEnabled回调函数。当它被最小化时,或者通过调用[IRibbonUI-object].InvalidateControl("Kompresja6")使该控件失效或[IRibbonUI-object].Invalidate()重绘整个功能区([IRibbonUI-object].InvalidateControlMso("ID")使内置控件失效)来实现。

  • 当自定义色带加载时,需要设置对IRibbonUI对象的引用。

为了使这项工作,你需要:

  1. 确保您可以通过在customUI XML标签添加一个onload回调函数来获取参考IRibbonUI对象:<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
  2. 执行他Ribbon_Load回调函数并设置对参数IRibbonUI的引用。
  3. 实现getEnabled函数Czytaj_stan来决定何时启用按钮。
  4. 让您的表单按钮首先修改Czytaj_stan中启用/禁用的条件,然后拨打[IRibbonUI-object].InvalidateControl("Kompresja6")以使带状按钮无效。