C#: Compact framework, numericonly TextBox

Voor een TextBox puur numeriek te maken is er de volgende simpele code in het .NET 2.0 framework:

InputModeEditor.SetInputMode(textBox, InputMode.Numeric);

Dan kunt ge nog steeds # en * invoeren, ik wou dat deze 2 veranderd werden in een comma, dus ik ben tot de volgende code gekomen:

Windows.Forms.TextBox textBox = new Windows.Forms.TextBox();
this.textBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Numeric_KeyPress);

/* ... */
private void Numeric_KeyPress(object sender, KeyPressEventArgs e)
{
	char decimalSeperator = System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator.ToCharArray()[0];

	if ((e.KeyChar == '#' || e.KeyChar == '*'))
	{
		if (((TextBox)sender).Text.IndexOf(decimalSeperator) == -1)
			((TextBox)sender).SelectedText += decimalSeperator;

		e.Handled = true;
	}
}

Enjoy :)

C#: Form Popup

Wat als ge een form hebt, met een button, die een nieuw form opent. Ge klikt erop, nieuw form opent, en ge hebt mooi 2 forms. Maar als ge dan op de knop duwt opent zich een nieuw form. Ongewenst gedrag. Hier een oplossing:

U popup:

public partial class Popup : Window
{
	static Popup instance;

	static Popup()
	{
	}

	public Popup()
	{
		InitializeComponent();
	}

	public static Popup Instance
	{
		get
		{
			if (instance == null)
				instance = new Popup();

			return instance;
		}
	}

	private void Popup_Closed(object sender, EventArgs e)
	{
		instance = null;
	}
}

En u mainform:

public partial class Main : Window
{
	public Main()
	{
		InitializeComponent();
	}

	private void clicky_Click(object sender, RoutedEventArgs e)
	{
		Popup popup = Popup.Instance;
		popup.Show();
		popup.Focus();
	}
}

Visual Studio 2005 Professional – Profiler?

Op een dag hebt ge een sloot aan code, zo traag als wat. En dan wilt ge gaan controleren waar hij traag is.

Dus we gaan op zoek, Google: Visual Studio 2005 profile code. Leuk, ge moet de Team Edition hebben. En hoe moet ik daar nu aan geraken als zijnde student? MSDN subscription kopen? Sorry maar dat is me net wat te duur.

Ik vind het jammer, de Professional kost ~1000 euro / licentie, dus als ik deze na mijn studies zou aanschaffen, zou ik nog niet eens een profiler hebben. Hier slaat Microsoft toch een beetje de plank mis :)

Dadelijk eens mailen naar de MSDNAA-maintainer bij ons op school, eens zien of ik via dat systeem kan krijgen. Ook zou ik graag Visual Studio 2008 hebben, maar dat zal nog even duren eer we die kunnen krijgen.

Momenteel ben ik bezig aan een agenda-applicatie, die communiceert met een MySQL database via PHP, zodat ge de agenda overal kunt bekijken. Waarom niet via een online applicatie? Veiligheid, en het ziet er gewoon wat gelikter uit, die mooie venstertjes. Dat is iets waar .NET in uitblinkt, alles ziet er hetzelfde uit. Daar kunnen de devvers van WLM nog wat van leren, aangezien zij hun vensters er standaard anders laten uitzien.

Ik post straks even een tutorial over WLM, hoe dat ge alle vensters er hetzelfde kunt laten uitzien!