Hallo Forum
Ich stehe gerada vor einer Aufgabe, bei welcher ich nicht mehr weiter weiss ,sprich ich kann mir den entstandenen Effekt nicht erklären.
Ich habe mir ein Ribbon Menü angelegt inkl. der Dazugehörigen Buttons etx. Da diese Variante etwas hässlich im Design ist und der Kunde die Benötigten Menüpunkte nicht bis zum st. nimmerleinstag suchen soll, habe ich mir gedacht, das ich meine Buttons wie ab Office 2007 (siehe Anhang) in einem ItemContainer anlege.
Soweit so gut. Der Item Container ist in der ToolBox nirgends zu finden und es sind alle DevComponents Controls der Toolbox zugeführt worden.
Interessant ist, dass ich aus einem Bestehenden Beispiel Projekt, diese Elemente kopieren und in meinem Projekt verwenden kann.
Wenn ich nun aber ein CustomControl anlege, von dem ItemContainer erben lasse, wird mir dieses angelegte CustomControl in der Toolbox nicht angezeigt.
Weiss jemand rat?
Code ItemContainer:
using System.Windows.Forms;
using DevComponents.DotNetBar;
namespace Ribbonpad
{
public partial class UserControl1 : ItemContainer
{
private AutoScaleMode AutoScaleMode;
public UserControl1()
{
InitializeComponent();
}
protected void OnPaint(ItemPaintArgs pe)
{
base.Paint(pe);
}
}
}
Die DevComponent Trial Version kann hier bezogen werden:
http://www.devcomponents.com/
Wer Rechtschreibfehler findet, darf sie behalten.
[ToolboxItem(false),DesignTimeVisible(false),Designer(typeof(ItemContainerDesigner))]
public class ItemContainer:ImageItem , IDesignTimeProvider
Liegt wohl am ToolboxItem(false)
.
Wobei man - wenn ich mich recht erinnere - die ItemContainer über Rechtsklick > Insert Item Container einfügen kann (Rechtsklick auf/in der RibbonBar).
Hallo BhaaL:
Wo genau soll dein Code Snipped hin?
Hab deine Ergänzung bei mir in die CustomControl Class eingebaut.
ItemContainerDesigner kennt er bei mir nicht, hab ihn aber mit ItemContainer ersetzt, ob dies nun richtig ist, kann ich nicht sagen.
Mit dem untenstehenden Code, kann ich nun das Icon in der Toolbox finden, da es aber Enable ist, kann ich es nicht verwenden.
using System.ComponentModel;
using DevComponents.DotNetBar;
namespace CustomControls.Controls
{
[ToolboxItem(true)]
[DesignTimeVisible(true)]
[Designer(typeof(ItemContainer))]
public partial class ItemContainers : ItemContainer, IDesignTimeProvider
{
public ItemContainers()
{
InitializeComponent();
}
protected void OnPaint(ItemPaintArgs pe)
{
base.Paint(pe);
}
}
}
Mit Rechtsklick hinzufügen geht nicht, dann wäre meine Anfrage hier im Forum nicht nötig gewesen.
Wer Rechtschreibfehler findet, darf sie behalten.
Hy Dolce,
Einen ItemContainer kannst via "Add Horizontal Container" oder "Add Vertical Container" hinzufügen.
Beides sind ItemContainer, nur das die Eigenschaft LayoutOrientation entweder auf Horizontal oder Vertical gesetzt wird, was du nachträglich auch wieder ändern kannst.
mfg Seraph
Ich beschütze das was am Wichtigsten ist!
Hallo Seraph
Ja du hast vollkommen recht. Wieso kompliziert wenn es auch einfach geht. Sorry noch mal, hab den Wald vor lauter Bäume nicht mehr gesehen.
Gruss an alle und noch einen schönen Abend
Dolce
Wer Rechtschreibfehler findet, darf sie behalten.
Wo genau soll dein Code Snipped hin?
Das soll nirgends hin. Geh in deinen Code, wo ItemContainer
steht, klick drauf und drück F12 ("Go to Definition"). Dann bekommst du genau das angezeigt (wenn du ein paar Outlines aufklappst).