Um ein Programm lediglich als Symbol im Infobereich (Symbole in der Taskleiste) zu starten und zu steuern (z.B. beenden, Info anzeigen) muss lediglich dieser Code in die Program Klasse eingefügt werden.

using System;
using System.Windows.Forms; // NotifyIcon
using System.Drawing; // Icon

namespace OssiSoft {

public class OSNotifyIconMinimum
{
public OSNotifyIconMinimum()
{
}

public static NotifyIcon aAppIcon = new NotifyIcon();
public static ContextMenu aSysTrayMenu = new ContextMenu();
public static MenuItem aDisplayInfo = new MenuItem(„Info über…“);
public static MenuItem aExitApp = new MenuItem(„Beenden“);

static void Main()
{
Icon aIcon = new Icon(@“NOTES.ICO“);
aAppIcon.Icon = aIcon;
aExitApp.Click += new System.EventHandler(ExitApp_Click);
aSysTrayMenu.MenuItems.Add(aDisplayInfo);
aDisplayInfo.Click += new System.EventHandler(DisplayInfo_Click);
aSysTrayMenu.MenuItems.Add(aExitApp);
aAppIcon.ContextMenu = aSysTrayMenu;
aAppIcon.Text = „dot.net-Magazin“;
aAppIcon.Visible = true;
Application.Run();
}

private static void DisplayInfo_Click(object sender, System.EventArgs e)
{
MessageBox.Show(„NotifyIcon ohne Formular“, „Test“,
MessageBoxButtons.OK);
}

private static void ExitApp_Click(object sender, System.EventArgs e)
{
aAppIcon.Dispose();
Application.Exit();
}
}
}

Compare Funktion

November 24, 2008

Zwei Instanzen desselben Typs werden auf einfache Art und Weise miteinander verglichen:

public static bool Between<T>(T value, T low, T high) where T : IComparable
{
return (Comparer<T>.Default.Compare(low, value) <= 0
&& Comparer<T>.Default.Compare(high, value) >= 0);
}

Das Dictionary ist eine feine Sache, jedoch kommt es vor, dass man einen Key verwendet, der aus einer Klasse mit mehreren membern besteht. Um nun nicht dieselbe Instanz, sondern den Inhalt der Member zu vergleichen, muss man in der Klasse die GetHashcode(..) Funktion überschreiben. Und das geht so.. Read the rest of this entry »

Mit der Zeit kommen z.B. Eigenschaften zu einer serialisierten Klasse hinzu oder ändern sich. Um eine Kompatibilität zwischen den verschiedenen Versionen zu gewährleisten, benutzt man die Version Tolerant Serialization.

Man kann eine Zelle im DataGridView Control leider nicht einfach ‘ausschalten’ wie man das auf die folgende Art am liebsten machen würde, da diese Funktion im DataGridView nicht unterstützt wird.

int theNewIndex = mydataGridView.Rows.Add();
DataGridViewRow theRow = mydataGridView.Rows[theewIndex];
theRow.Cells[myNameColumn.Name].Visible = false;

Read the rest of this entry »

Der DisplayValue einer ComboBox kann aus mehreren Zeilen einer Tabelle bestehen. Z.B. wäre Firstname Lastname ganz sinnvoll.

Dazu folgende Codevorlage: Read the rest of this entry »

Die sind die neuen VS2008 Zertifizierungen: Read the rest of this entry »

Singleton

Mai 7, 2008

Ein Snippet, dass den Rumpf einer Singleton Klasse darstellt. Dieses Singelton ist Threadsafe! Read the rest of this entry »

Check User Activity

Mai 7, 2008

Klasse die Mouse und Key Events global abfängt. Man ist nicht mehr auf die Form beschränkt!!

Als EventArgs bekommt man sogar die orginal C#.Net Eigenschaften Read the rest of this entry »

Spezielles Dictionary, dass sich serialisieren lässt

Ansonsten wie das .NET Dictionary

Read the rest of this entry »