Comunitate de programatori autodesk în CSI

Cum să dezactivați banda utilizând instrumentele .NET

Am primit o întrebare interesantă pe forumul AutoCAD .NET. atribuit de către Pete Elliott:

Când se încarcă AutoCAD, văd că panourile mele sunt oprite (gri) până în momentul în care se termină încărcarea. Programul nostru are o descărcare de date suplimentară după kakAutoCADpopadaet în „mers în gol“ .Dar dacă utilizatorul apasă unul dintre butoanele de pe panoul înainte de toate datele sunt încărcate, AutoCADavariyno completează rabotu.Est său o modalitate de a dezactiva panoul (ca delaetAutoCAD) până descărcarea nu a fost efectuată, și apoi le-am pornit? Nu am putut găsi un API care să permită ca acest lucru să fie făcut.Aș aprecia orice sugestii cu recunoștință!







Abordarea de bază este destul de simplu: aveți acces la curent „set de palete de benzi“ cu clasa RibbonServices (vom apela metoda pentru a crea o nouă bandă, dar se returnează, de obicei, o bandă existentă în cazul numit de comanda). Apoi îl folosim pentru a dezactiva "Controlul panglicii", precum și afișarea fundal a filelor. De asemenea, vom opri afișarea vârfurilor de instrumente pentru timpul în care banda este dezactivată.

Aici este codul C # care se oprește și pornește Panglica folosind comenzile DR și ER, respectiv. Aceste comenzi doar arată modul în care poate provoca funcția EnableRibbon () din propriul cod (vă vyzyvaetel EnableRibbon (fals), înainte de inițializare și EnableRibbon (true), atunci când este finalizată).







comenzi de clasă publică

boot static privat _showTipsOnDisabled = false;

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

public static void DisableRibbonCommand # 40; # 41;

EnableRibbon # 40; fals # 41; ;

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

public void static EnableRibbonCommand # 40; # 41;

EnableRibbon # 40; adevărat # 41; ;

public void static EnableRibbon # 40; bool enable # 41;

// În primul rând, asigurați-vă că este banda

// (dacă funcția este apelată din comandă, în majoritatea cazurilor

// obținem Panglica existentă)

var rps = Autodesk. AutoCAD. Panglică. RibbonServices. CreateRibbonPaletteSet # 40; # 41; ;

// Porniți sau opriți

RPS. RibbonControl. IsEnabled = activa;

dacă # 40; permite # 41;

// Salvați starea curentă "Afișați solicitări atunci când banda este oprită"

// și să își modifice valoarea

_showTipsOnDisabled = ComponentManager. ToolTipSettings. ShowOnDisabled;

ComponentManager. ToolTipSettings. ShowOnDisabled = activa;

// restaurați valoarea "Afișează sugestii când banda este dezactivată"

ComponentManager. ToolTipSettings. ShowOnDisabled = _showTipsOnDisabled;

// Activați sau dezactivați afișarea de fundal a filelor

RPS. RibbonControl. IsBackgroundTabRenderingEnabled = activa;







Trimiteți-le prietenilor: