Autodesk közösség programozók a FÁK

Hogyan kapcsoljuk ki a .NET eszközökkel szalag

Rábukkantam egy érdekes kérdés a fórumon AutoCAD .NET. adott Pete Elliott:

KogdaAutoCADzagruzhaetsya, látom, hogy az én panel le van tiltva (szürke), addig a pillanatig, amikor befejezése után. A program egy kiegészítő adatok letöltése után kakAutoCADpopadaet a „tétlen” .De ha a felhasználó megnyomja az egyik gombot a panelen, mielőtt az összes adat van betöltve, AutoCADavariyno teljessé rabotu.Est a módját, hogy tiltsa le a panelt (delaetAutoCAD), amíg a letöltés nem járt, majd kapcsolja be őket? nem tudtam naytiAPI amely lehetővé tenné, sdelat.Primu bármilyen javaslata értékelik!

Az alapvető megközelítés nagyon egyszerű: kapsz hozzáférést a jelenlegi „set paletták szalagok” a RibbonServices osztály (hívjuk a módszer egy új szalagot, de ez általában visszatér a meglévő szalagot, ha megadta a parancsot). Akkor használjuk, hogy kapcsolja ki a „szalagoknak”, valamint a háttér megjelenítése a lapok. Azt is letilthatja a eszköztippek megjelenítését, amíg le a szalagot.

Itt látható a C # -code, ami kikapcsol, és a szalagon a parancsokat DR és az ER, ill. Ezek a parancsok csak azt mutatják, hogyan okozhat EnableRibbon () függvényt a saját kódját (Ön vyzyvaetel EnableRibbon (false); előtti inicializálás és EnableRibbon (true); mikor fejeződik be).

public class parancsok

private static void _showTipsOnDisabled = false;

# 91; CommandMethod # 40; "DR" # 41; # 93;

public static void DisableRibbonCommand # 40; # 41;

EnableRibbon # 40; hamis # 41; ;

# 91; CommandMethod # 40; "ER" # 41; # 93;

public static void EnableRibbonCommand # 40; # 41;

EnableRibbon # 40; igaz # 41; ;

public static void EnableRibbon # 40; bool lehetővé # 41;

// Először is, győződjön meg arról, hogy a szalag

// (ha a függvényt hívjuk a parancsot, a legtöbb esetben,

// megkapjuk a meglévő szalag)

var RPS = Autodesk. AutoCAD. Szalagot. RibbonServices. CreateRibbonPaletteSet # 40; # 41; ;

// Engedélyezi vagy letiltja

RPS. RibbonControl. IsEnabled = engedélyezés;

ha # 40;. engedélyezéséhez # 41;

// mentése a jelenlegi állapotában a „Javaslatok megjelenítése, ha a szalag ki"

// értékének megváltoztatása

_showTipsOnDisabled = ComponentManager. ToolTipSettings. ShowOnDisabled;

ComponentManager. ToolTipSettings. ShowOnDisabled = engedélyezés;

// vissza a „Tippek megjelenítése, amikor a szalag ki”

ComponentManager. ToolTipSettings. ShowOnDisabled = _showTipsOnDisabled;

// Engedélyezi vagy letiltja a kijelző egy lapon a háttérben

RPS. RibbonControl. IsBackgroundTabRenderingEnabled = engedélyezés;