Hallo,
ich möchte dem Lesebereich von Outlook ein Label hinzufügen mit einem einfachen Text und blauem Hintergrund. Nach stundenlangem googeln habe ich raus bekommen, dass ich dies mit Hilfe von Form Regions machen kann.
Also habe ich meinem Projekt eine neue Form Region hinzugefügt, jedoch kann ich das Reading Pane nirgendwo als Vorlage finden um es zu bearbeiten.
Weiß jemand wo die Vorlagen für Outlook hinterlegt sind?
Außerdem würde ich gerne wissen, ob ich anschließend nur mein Label im Designer auf die Form ziehen muss und anschließend alles funktioniert oder ob noch weitere Einstellungen notwendig sind.
Mit freundlichen Grüßen
Habe einen Button mit einem ContextMenuStrip erstellt, das war genau das was ich wollte.
Ich hatte es ausprobiert, aber diese kommen nicht im Werkzeugkasten vor, deshalb die Frage.
@MrSparkle: Kann ich diese in einem TaskPane verwenden?
Hier nochmal ein Beispiel, was ich gerne hätte
Ich möchte dass da überhaupt kein Bereich für Text vorhanden ist, dass ich nur einen kleinen Button mit dem Pfeil habe der ein Dropdown-Menü öffnet. Wenn ich die ComboBox einfach kleiner ziehe wird ja die Größe des Pfeils auch angepasst, also kleiner.
Gibt es eine Möglichkeit eine ComboBox ohne Text zu erstellen, so dass nur der Pfeil da ist oder muss ich mir so etwas selbst schreiben?
In der Registry steht an beiden Orten nichts mehr vom Addin.
Wie krieg ich dann raus warum die Fehlermeldung noch angezeigt wird? bzw. wie bekomm ich diese weg?
Ich habe ein Outlook Addin geschrieben, welches einige releases vorher jedoch einen Fehler bei einem Datenbankzugriff.
Ich habe das Addin veröffentlicht, auf einem anderen PC installiert und getestet und nachdem ich gemerkt habe, dass ein Fehler auftritt, wieder deinstalliert (jedoch während Outlook noch am laufen war).
Den Fehler lasse ich mir durch eine MessageBox ausgegeben und obwohl das Addin nicht mehr installiert ist, bekomme ich trotzdem noch die Fehlermeldung/MessageBox angezeigt. Das Setup ist das von VS erstellte, wenn man unter Erstellen> Projekt veröffentlichen auswählt.
Kann es sein dass beim deinstallieren (über "Programme und Funktionen"->Rechtsklick Addin->Deinstallieren) nicht alle Dateien wie gewollt gelöscht worden sind?
Zusatzinfo: In Outlook unter COM-Addins befindet sich der Eintrag zum Addin nicht mehr.
Weiß jemand wie ich diesen Fehler beheben kann?
MfG
Ich habe in meinen Ressourcen eine Datei namens "addContactIcon" und in meiner Form eine PictureBox. Wie kann ich im code schauen ob das image der picturebox gerade das Image aus meinen Ressourcen ist? ( so etwas wie:
if(picturebox.Image == Properties.Ressources.addContactIcon) {}
Edit:
Bei meiner bisherigen Suche habe ich nur Pixelvergleiche der beiden Bilder gefunden, was zu ellen langem Code führte, weshalb ich das thema erstellt habe.
Wenn ich den Konstruktor ohne Argumente benutze
public CustomListBox()
{
InitializeComponent();
_imageSize = new Size(80, 60);
this.ItemHeight = _imageSize.Height + this.Margin.Vertical;
_fmt = new StringFormat();
_fmt.Alignment = StringAlignment.Near;
_fmt.LineAlignment = StringAlignment.Near;
_titleFont = new Font(this.Font, FontStyle.Bold);
_detailsFont = new Font(this.Font, FontStyle.Regular);
}
tritt der Fehler auf, weil ich dafür den standard Konstruktor auskommentieren/entfernen muss.
Wenn ich den standard Konstruktor
public CustomListBox(IContainer container)
{
container.Add(this);
InitializeComponent();
}
benutze, krieg ich nur den Klassennamen als Item angezeigt.
Uuuuund das Problem ist wieder da. Habe mittlerweile herausgefunden dass es an der Klasse liegt, vermutlich wie Sebastian.Lange gemeint hat am Konstruktor. Ich habe die Klasse von codeproject, vielleicht kann sich jemand das Projekt mal anschauen.
Uuuuund das Problem ist wieder da. Habe mittlerweile herausgefunden dass es an der Klasse liegt, vermutlich wie Sebastian.Lange gemeint hat am Konstruktor. Ich habe die Klasse von codeproject, vielleicht kann sich jemand das Projekt mal anschauen.
@Sebastian.Lange
Sehe ich auch so... deshalb auch mein Vorschlag zu Debuggen was im Designer abgeht... aber dem wollte er ja nicht folgen...
Ich klinke mich hier auch aus.
Ich wollte schon, ich wusste nur nicht wie das geht.
Den wird dir der Designer aber wieder einbauen.
Das bedeutet aber das du etwas unsauber bei deinen namespaces warst.
Es gibt wahrscheinlich auch noch einebn Namespave xyz.PluginTest
Trotz mehrmaligem kompilieren, neu erstellen und bereinigen hat er nichts wieder eingebaut und den fehler habe ich auch nicht mehr zu gesicht bekommen.
Inwiefern unsauber?
Nein gibt es nicht.
Habe das Problem gelöst. Bei
private PluginTest.CustomListBox listBoxTasks;
private PluginTest.CustomListBox listBoxEvents;
private PluginTest.CustomListBox listBoxContactComments;
private PluginTest.CustomListBox listBoxCompanyComments;
habe ich den Namespace vor CustomListBox entfernt, jetzt tritt der Fehler nicht mehr auf.
Habe mal
private PluginTest.CustomListBox listBoxTasks;
private PluginTest.CustomListBox listBoxEvents;
private PluginTest.CustomListBox listBoxContactComments;
private PluginTest.CustomListBox listBoxCompanyComments;
auskommentiert, und debugging gestartet. Da kommt ein anderer Fehler, siehe Anhang.
Mach mal das hier:
Wie öffne ich denn das .dll Projekt?
Im Anhang der screenshot
hat leider nicht geholfen. nach erneutem erstellen erscheint der fehler wieder.
Nach #endregion (anfang ist #region Vom Komponenten-Designer generierter Code)
private PluginTest.CustomListBox listBoxTasks;
private PluginTest.CustomListBox listBoxEvents;
private PluginTest.CustomListBox listBoxContactComments;
private PluginTest.CustomListBox listBoxCompanyComments;
Ich kann die Änderungen leider nicht mehr rückgängig machen. Ich hatte gedacht wenn ich es da direkt ändere geht das schneller..
Hier möglicherweise relevante Teile von InitializeComponent:
private void InitializeComponent()
{
this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader4 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.listBoxTasks = new PluginTest.CustomListBox();
this.listBoxEvents = new PluginTest.CustomListBox();
this.listBoxContactComments = new PluginTest.CustomListBox();
this.listBoxCompanyComments = new PluginTest.CustomListBox();
this.SuspendLayout();
//
// listBoxTasks
//
this.listBoxTasks.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.listBoxTasks.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable;
this.listBoxTasks.FormattingEnabled = true;
this.listBoxTasks.ItemHeight = 66;
this.listBoxTasks.Location = new System.Drawing.Point(18, 223);
this.listBoxTasks.Name = "listBoxTasks";
this.listBoxTasks.Size = new System.Drawing.Size(338, 70);
this.listBoxTasks.TabIndex = 36;
this.listBoxTasks.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.CustomListBox_DrawItem);
this.listBoxTasks.SelectedIndexChanged += new System.EventHandler(this.listBoxTasks_SelectedIndexChanged);
//
// listBoxEvents
//
this.listBoxEvents.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.listBoxEvents.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable;
this.listBoxEvents.FormattingEnabled = true;
this.listBoxEvents.ItemHeight = 66;
this.listBoxEvents.Location = new System.Drawing.Point(18, 320);
this.listBoxEvents.Name = "listBoxEvents";
this.listBoxEvents.Size = new System.Drawing.Size(338, 70);
this.listBoxEvents.TabIndex = 37;
this.listBoxEvents.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.CustomListBox_DrawItem);
this.listBoxEvents.SelectedIndexChanged += new System.EventHandler(this.listBoxEvents_SelectedIndexChanged);
//
// listBoxContactComments
//
this.listBoxContactComments.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.listBoxContactComments.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable;
this.listBoxContactComments.FormattingEnabled = true;
this.listBoxContactComments.ItemHeight = 66;
this.listBoxContactComments.Location = new System.Drawing.Point(18, 415);
this.listBoxContactComments.Name = "listBoxContactComments";
this.listBoxContactComments.Size = new System.Drawing.Size(338, 70);
this.listBoxContactComments.TabIndex = 38;
this.listBoxContactComments.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.CustomListBox_DrawItem);
this.listBoxContactComments.SelectedIndexChanged += new System.EventHandler(this.listBoxContactComments_SelectedIndexChanged);
//
// listBoxCompanyComments
//
this.listBoxCompanyComments.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.listBoxCompanyComments.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable;
this.listBoxCompanyComments.FormattingEnabled = true;
this.listBoxCompanyComments.ItemHeight = 66;
this.listBoxCompanyComments.Location = new System.Drawing.Point(18, 515);
this.listBoxCompanyComments.Name = "listBoxCompanyComments";
this.listBoxCompanyComments.Size = new System.Drawing.Size(335, 70);
this.listBoxCompanyComments.TabIndex = 39;
this.listBoxCompanyComments.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.CustomListBox_DrawItem);
this.listBoxCompanyComments.SelectedIndexChanged += new System.EventHandler(this.listBoxCompanyComments_SelectedIndexChanged);
// In den nächsten 4 Zeilen wird mir immer der Fehler angezeigt
this.Controls.Add(this.listBoxCompanyComments);
this.Controls.Add(this.listBoxContactComments);
this.Controls.Add(this.listBoxEvents);
this.Controls.Add(this.listBoxTasks);
this.ResumeLayout(false);
this.PerformLayout();
}
Nachtrag:
Mir ist gerade aufgefallen, dass für alle Komponenten ein
((System.ComponentModel.ISupportInitialize)(this.komponente)).BeginInit();
vorhanden ist, ausser für die listBoxen, kann es damit was zu tun haben ?
Ich habe gerade herausgefunden, dass ich den Fehler reproduzieren kann, wenn ich die Projektmappe neu erstelle. Wenn ich anschließend den designer schließe und neu öffne, kann ich die Form allerdings wieder sehen.
Hallo,
würde dann aber nicht immer der Fehler auftreten beim Laden?
Ich glaube ja, es ist schon ein paar Tage her.
Hallo unconnected,
okay werde ich.
Ja, das habe ich mittlerweile schon öfters gelesen. Habe auch VS schon oft neu gestartet aber es ändert sich nichts am Fehler. Hast du sonst noch irgendwelche Ideen ?
Ich habe ein Task Pane für Outlook erstellt welches 4 customListBox-Elemente (eigene Klasse, erbt von ListBox) beinhaltet. Bevor ich die Klasse erstellt hatte, beinhaltete das Task Pane 4 standard Task Panes die den selben Namen hatten wie die neuen customListBox-Elemente. Als ich die alten ListBoxen entfernen und durch die neuen ersetzen wollte habe ich manuell etwas in DetailsPane.Designer.cs geändert. Nun bekomme ich ab und zu beim Ausführen meines Programms die Fehlermeldung "Um mögliche Datenverluste zu verhindern, müssen vor dem Laden des Designers folgende Fehler behoben werden:" und darunter 4 Einträge zu den CustomListBox-Elementen mit der Meldung: " die variable listBox1" wurde nicht deklariert oder nicht zugeordnet.". Manchmal steht auch die Zeilennummer dabei in der der Fehler auftreten soll, diese beinhaltet je nach ausgewählter Fehlermeldung "this.Controls.Add(this.listBox1);". Der Fehler tritt wie bereits gesagt nicht immer auf und die Zeilennummer steht auch nicht immer dabei (im anderen Fall Zeile 0, Zeichen 0). Kann mir bei dem Problem jemand helfen ?
Ich entwickle gerade ein Outlook Plugin, das mir Daten zu einer Email in einem Task Pane anzeigen soll wenn ich eine Email auswähle. Wenn ich mit den Pfeiltasten durch die Emails navigiere läuft alles problemlos, jedoch scheint das currentExplorer_event() nicht immer aufgerufen zu werden wenn ich mit der Maus schnell mehrere Emails hintereinander anklicke, was zur Folge hat, dass dann eine Email geöffnet ist aber die Daten einer anderen Email im Task Pane zu sehen sind. Hat jemand hierfür eine Lösung oder das gleiche schon einmal erlebt?