Jeg sidder og roder med en dll jeg har lavet...har tidligere benyttet den... Har ikke lavet ændringer i den...men nu genererer den en StackOverFlowException hver gang jeg benytter den...selve dll'en kompilerer fint...
hehe...jeg tænkte det måske var en mere generelt fejl, nu hvor den har virket :) Det er maxLenght og textBox1width som fejler, idet fejlen fosvinder når jeg udkommenterer dem...
using System; using System.Collections; using System.ComponentModel; using System.Drawing; using System.Data; using System.Windows.Forms;
namespace HeltallTextBox { public class HeltaltextBox : System.Windows.Forms.UserControl { private System.Windows.Forms.TextBox textBox1;
public bool validerTekstFeltKunHeltal(System.Windows.Forms.KeyPressEventArgs e, TextBox tb) { //HVIS svar returneres indholdende false, er det et gyldigt tegn! Dvs. det bliver skrevet i textfeltet! bool svar = false; try { //If-sætningen angiver kriteriet for hvad der skal til / opfyldes før et tegn er ulovligt og dermed IKKE bliver skrevet i tekstfeltet! //I dette tilfælde er det tal og backspace if(!Char.IsDigit(e.KeyChar) && e.KeyChar !=(char)8) svar = true; } catch(Exception){}
return svar; }
public int maxLength { get{return this.maxLength;}
set { try { int test = (int)value; this.maxLength=test; } catch(Exception) { MessageBox.Show("maxLength må kun være et heltal", "Ugyldig længde", MessageBoxButtons.OK,MessageBoxIcon.Error); } } }
//Property som sætter Fonten public Font textBox1Font { get{return textBox1.Font;}
set { try { Font test = (Font)value; textBox1.Font = value;
//Property som sætter bredden public int textBox1Width { get{return textBox1.Width;}
set { try { int test = (int)value; this.Width = test; textBox1.Width = test; } catch(Exception) { MessageBox.Show("textBox1Width må kun være et heltal", "Ugyldig bredde", MessageBoxButtons.OK,MessageBoxIcon.Error); } } } } }
public int maxLength { get{return textBox1.maxLength;} set { try { int test = (int)value; textBox1.maxLength=test; } catch(Exception) { MessageBox.Show("maxLength må kun være et heltal", "Ugyldig længde", MessageBoxButtons.OK,MessageBoxIcon.Error); } } }
lifo >> du har ret...Jeg må ha' sovet et øjeblik ;) jeg havde jo allerede lavet de andre properties på denne måde...såå...%-)...
erikjacobsen>>ja, du har nok også ret i at propertyen skal hedde noget andet for at undgå navnesammenfald...(ligesom jeg har gjort i de resterende properties :)
Nu ser koden således ud :
public int textbox1MaxLength { get{return textBox1.MaxLength;} set { try { int test = (int)value; textBox1.MaxLength=test; } catch(Exception) { MessageBox.Show("textbox1MaxLength må kun være et heltal", "Ugyldig længde", MessageBoxButtons.OK,MessageBoxIcon.Error); } } }
og det virker! :) Så det var en kombination af jeres svar...så vi deler div. points :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.