Laden...
W
WT_Payroll myCSharp.de - Member
FOXPRO-Programmierer Nähe Siegen Dabei seit 28.04.2004 14 Beiträge
Benutzerbeschreibung

Forenbeiträge von WT_Payroll Ingesamt 14 Beiträge

21.05.2004 - 17:37 Uhr

mein gemotze hat historischen ursprung...
und sollte dazu diehnen hilfen in praxisnähe zu inspirieren...
aber wenn ihr der meinug seit ich sollte lieber schweigen geht mir das ziemlich am ... vorbei

von Noodles

da kann man Controls mit dem dazugehörigen Sourcecode runter laden. Bessere Beispiele findet man glaube ich nirgends.

nur zu meinem schon mehrfach angesprochen problem:
binden an selbstdefinierte eigenschaften im usercontol findet sich da leider nichts...

die anmerkung von Code-Hacker

Wir sind leider auch nicht allwissend wodurch es passieren kann das auch mal eine Frage unbeantwortet bleibt oder diese einfach untergeht, weil in anderen Threads gerade eine interessante Diskussion statt fand. Oder die Fragestellung unklar ist.

ist dann auch wenig hilfreich....
aber eines tröstet mich: die bei MS$ wissen in der richtung auch nicht weiter...

das was ich will ist zwar möglich aber niemand weiß wie 😜

19.05.2004 - 09:56 Uhr

ist ja ne tolle hilfe wenn man in den wald geschicckt wird .... 🙄
das thema userControl ist für die "Gelehrten" zu praxisnah, oder auch unwürdig...
als das man sich damit auseinander setzen würde 😁

sorry für mein gefrotzel aber das war mir mal ein bedürfniß 🙂)

14.05.2004 - 11:11 Uhr

👍
sorry da war ich zu schnell....

			this.textBox1.HideSelection=false;
			this.textBox1.SelectionStart=10;
			this.textBox1.SelectionLength=10;

14.05.2004 - 11:09 Uhr

🙂) hi
versuchs doch einfach mal mit folgendem

			this.textBox1.HideSelection=false;
			this.textBox1.SelectionStart=10;
			this.textBox1.SelectionLength=20;

sollte klappen 🤔

13.05.2004 - 10:25 Uhr

Hi 🙂)
ich beschäftige mich seit einiger zeit mit der erstellung von eigenen controls.
im Microsoft Visual Studio .NET 2003, ich vermute mal das du das benutzt, giebt es die projectvorlage Windows-Steuerelementbibliothek
in solchen projekten kannst du mit dem designer controlls entwickeln...

12.05.2004 - 13:24 Uhr

ich denke wenn ich hier die wahrheit sage redet keiner von euch mehr mit mir... 🙂)
deshalb sag ich dazu nichts...
aber jeder ist immer so alt wie er sich fühlt...

in letzter zeit frage ich mich oft warum ich mir das mit c# noch antue...
aber leider bleib mir nicht anderes übrig da ms$ in nächster zeit die mir vertaute IDE Microsoft Visual FoxPro sterben läßt.
zum glück findet sich vieles daraus in c# wieder.
und irgendwie lassen sich alle probleme lößen.

ich bin kein schüler oder student mehr, habe programmieren in der praxis gelernt.
von daher kann ich mich auch nicht sehr für rein theoretische lößungsansätze begeistern oder gar an diskussionen um des kaisers bart beteiligen...

positiv finde in diesen foren das sich die mitgieder auch auf anfängerprobleme
einlassen 🙂) und den hilfesuchenden nicht ständig irgendwelche links zuwerfen die oft für anfänger eher neu fragen aufwerfen denn verstädnis zu vermitteln...

nun aber
genug geplauscht cu 8) (schlißlich sitze ich hier nicht zum vergnügen) 😁

12.05.2004 - 12:02 Uhr

Hi
ich mach so was im Closing ereignis der form
zb. so[PHP] private void myForm_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{ MessageBox.Show("vorsicht... die Form Schließt sich...");}
[/PHP]
wenn du der MessageBox noch Buttons gibst kannst du dann auch unterschiedlich reagieren
[PHP] if(MessageBox.Show(owner,"Sie haben Datenänderungen vorgenommen\nWollen Sie diese speichern ?","Speichern von Betriebsdaten ?",MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
[/PHP]

die ms-help enthält folgendes Beispiel:
[PHP]private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
// Determine if text has changed in the textbox by comparing to original text.
if (textBox1.Text != strMyOriginalText)
{
// Display a MsgBox asking the user to save changes or abort.
if(MessageBox.Show("Do you want to save changes to your text?", "My Application",
MessageBoxButtons.YesNo) == DialogResult.Yes)
{
// Cancel the Closing event from closing the form.
e.Cancel = true;
// Call method to save file...
}
}
}

[C++, JScript] Für C++ oder JScript ist kein Beispiel verfügbar. Klicken Sie zum Anzeigen eines Beispiels für Visual Basic oder C# in der linken oberen Ecke der Seite auf die Schaltfläche "Sprachfilter" .

[/PHP]

10.05.2004 - 11:08 Uhr

8o sorry was ich da eben geschrieben habe ist natürlich völliger unsinn...
🤔 aber das hast du sicher gescheckt... 👍

10.05.2004 - 10:23 Uhr

Hi 🙁
vergeiche einfach mal de 1. mit dem 2. code...
Form ist nicht Forms
Forms ist im namespace System.Windows definiert
Form ist nirgentwo definiert 😁

09.05.2004 - 02:52 Uhr

Hi an alle😁
habe zwischenzeitlich die sache versucht weiter zu ergründen, leider bisher ohne erfolg.
meine vermutungen gehen in die richtung das bei der datenbindung an Text ein ereignis der basisklasse ausgelößt wird das im falle der datenbindung an mytext fehlt.
ich tippe da auf das ereignis TextChanged
leider bin ich zu unerfahren ereignisse und delegaten zu coden...
die etwas schwammigen formulierungen in ms-help helfen mir da nicht wirklich weiter... meine versuche da weiter zu kommen enden in der regel in einer endlosschleife...
aber vielleicht bin ich ja auch einfach nur zu beschränkt das zu verstehen 🤔

trotzdem hab ichs mal versucht....
[PHP] public delegate void Eventhandler(object sender, int e);

public class UC1 : System.Windows.Forms.UserControl  
{  
	private string m_mytext;  
	private System.Windows.Forms.TextBox innerBox;  
	/// <summary>   
	/// Erforderliche Designervariable.  
	/// </summary>  
	private System.ComponentModel.Container components = null;  
	[Category("Darstellung")]  
	[Description("Datenverbindung für plz einstellen")]  
	[Bindable(true), Browsable(true)]  

	public string mytext  
	{  
		get  
		{  
			if(innerBox != null){m_mytext = innerBox.Text;}  
			return m_mytext;   
		}  
		set  
		{  
			m_mytext=value;  
			if(innerBox != null)  
			{  
				innerBox.Text = m_mytext;  

			}  
		}  
	}  
	[Category("Darstellung")]  
	[Description("auf änderung von mytext reagieren")]  
	[Bindable(false), Browsable(true)]  

	public event System.EventHandler mytextChanged  
	{  
		add  
		{  
			mytextChanged+=value;  
		}   
		remove  
		{  
			mytextChanged-=value;  
		}         
	}  
	protected virtual void Onmytext(System.EventHandler e)  
	{  
		if (mytext != null)  
		{  
			//mytext(this, e); //'TCL1.UC1.m_mytext' deutet auf 'Feld' hin, wo 'Methode' erwartet wurde  

		}  
	  
	}  

[/PHP]
ergebnis:
Eine nicht behandelte Ausnahme des Typs 'System.StackOverflowException' ist in tcl1.dll aufgetreten.

und zwar wird folgende anweisung aus mir unbekanntem grund in einer endlosschleife ausgeführt: mytextChanged+=value;
folgender code wird vom disigner generiert wenn das controll auf dem form plaziert und im disigner ans dataset gebunden wird:
[PHP] this.uC12.DataBindings.Add(new System.Windows.Forms.Binding("mytext", this.dataSet11, "betrieb.ort"));
this.uC12.Location = new System.Drawing.Point(72, 80);
this.uC12.mytext = "innerBox";
this.uC12.Name = "uC12";
this.uC12.Size = new System.Drawing.Size(150, 72);
this.uC12.TabIndex = 4;
this.uC12.mytextChanged += new System.EventHandler(this.uC12_mytextChanged);
[/PHP]

wo liegt mein denkfehler? oder was hab ich da falch verstanden? ?(
ach an dieser stelle versteht mich mein computer nicht...
//mytext(this, e); //'TCL1.UC1.m_mytext' deutet auf 'Feld' hin, wo 'Methode' erwartet wurde
was meint der damit??? 🤔

und wie zum teufel macht Text das mit dem dataset...
[PHP] this.textBox1.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet11, "betrieb.ort"));
this.textBox1.Location = new System.Drawing.Point(72, 16);
this.textBox1.Name = "textBox1";
this.textBox1.TabIndex = 3;
this.textBox1.Text = "textBox1";
this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
[/PHP]
ich sehen da keinen prinzipiellen unterschied...
aber es muß da einen unterschied geben...
ich bin mir sicher wenn ich den gefunden hab dann... auf zu nächsten problem 🙂

07.05.2004 - 12:24 Uhr

Hi an alle 🙂
brauch dringen einen Rat, bin in einer sackgasse...

mein problem: ich möchte einem usercontroll weitere eigenschften geben die sich exakt so verhalten wie die Text Eigenschaft besonders in bezug auf DataBindings.
hier ein Beispiel wie ich das vesucht habe
[PHP] private System.Windows.Forms.TextBox textBox1;
private string m_mytext;
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.ComponentModel.Container components = null;

	public string mytext  
	{  
		get{return m_mytext; }  
		set{m_mytext=value;}  
	}  
	public override string Text  
	{  
		get{return base.Text;}   
		set{base.Text=value;}  
	}  
	// ......  

[/PHP]

wenn ich nun die mytext im dataset an eine spalte binde dann klapp alles so weit.
wenn der wert in mytext nicht geändert wird erkennt das dattaset stets änderungen
[PHP] objDataSetChanges = ((Test2.ds1)(objds1.GetChanges()));
// Prüfen, ob Änderungen durchgeführt wurden.
if ((objDataSetChanges != null))
{ // änderungen vorhanden...}
[/PHP]

wenn Text im dataset an eine spalte gebunden ist, und der wert von Text wurde nicht geändert wird dies auch von GetChanges() korrekt erkannt. X(

was habe ich nicht beachtet... mir fällt nichts mehr dazu ein....
kann mir da jemand weiterhelfen

30.04.2004 - 13:16 Uhr

Leider habe ich das gleiche Problem 😁
wenn ich nur eine TextBox im Usercontroll habe dann klappt es mit folgendem
Ansatz
[PHP] [Category("Darstellung")]
[Description("Datenverbindung für Steuernummer einstellen")]
[Bindable(true), Browsable(true)]
public override string Text

	{  
		get   
		{   
			return base.Text; //this.boxtext;  
		}  
		set  
		{  
			base.Text=value;  
			this.integerTextBox1.Text=value;  
		}  
	}  

[/PHP]
ich muß allerdings noch dafür sorgen das die Usereingaben auch zurück übertragen werden
[PHP] private void integerTextBox1_Leave(object sender, System.EventArgs e)
{
this.plausicheck=false;
this.Text=this.integerTextBox1.Text;
}
private void integerTextBox1_TextChanged(object sender, System.EventArgs e)
{
if(this.plausicheck){this.integerTextBox1_Validating(this.integerTextBox1,null);}
else
{
this.errorProvider_Stnr.SetError(this.integerTextBox1,"");
}

		this.Text=this.integerTextBox1.Text;  
	}  

[/PHP]
man sollte annehmen das dieses Prinip auch bei einer ComboBox klappt... 8)
dem ist nicht so.... 😭
bei meinen Versuchen diese Problem zu lößen habe ich es geschafft einen steck-overflow-Fehler zu produzieren der in einer catch dazu führte das die ide sich einfach so selbst beendete... 8o
was mich ein wenig wundert ist die Tatsache das es zu diesem Thema von keinem der Freeks irgendwelche infos giebt die ein normal-sterblicher verstehen kann....
ich habe allerdings noch die Hoffnung das einer der C# Profis sich unserer banalen
Probleme annimmt.... 😁
eventuell bevor ich mein Keybord mit einem Vorschlaghammer atomisiert habe... 😁

29.04.2004 - 23:31 Uhr

Hallo an alle C# freeks 😁
ich beschäftige mich nun schon einige tage mit dem der erstellung eines UserControll und hätte da mal ein problem.... 8)

In meinem Controll soll eine Combobox, eine TextBox und ein Errorprovider angeordnet sein.
Verwendet werden soll das Controll auf einem Form welches ein von zwei oleDbDataAdaptern gefülltes Dataset hat. Im DataSet sind zwei Tabellen.
Eine der Tabellen liefert die Daten die in der ComboBox angezeigt werden,
die zweite Tabelle soll sowohl bestimmen was die Combobox anzeigt als auch
speichern was der User gewählt hat bzw. in die textbox eigegeben hat.
der folgende Code zeigt das for eine combobox als einzelnes objekt auf dem Form liegt.
[PHP] this.comboBox1.DataBindings.Add(new System.Windows.Forms.Binding("SelectedValue", this.objds1, "betrieb.bundesland"));
this.comboBox1.DataSource = this.objds1;
this.comboBox1.DisplayMember = "laender.bundesland";
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox1.Location = new System.Drawing.Point(472, 32);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(168, 21);
this.comboBox1.TabIndex = 22;
this.comboBox1.ValueMember = "laender.bundesland";
[/PHP]
[PHP] this.textBox1.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.objds1, "betrieb.steuernr"));
this.textBox1.Location = new System.Drawing.Point(368, 312);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(128, 20);
this.textBox1.TabIndex = 23;
this.textBox1.Text = "textBox1";
[/PHP]

das problem mit der Textbox konnte ich durch überschreiben der Text Eigenschaft des UserControll lößen. Das klappt auch super und läßt sich auch im Designer gut und intuitiv bedienen.
und nun kommts... mein problem ?(
ich hab dann versucht eigenschaften im Usercontroll zu definiren die denen der Combobox gleichen. im Designer sieht dann alles wuderbar aus und läßt sich auch
zuordnen, aber die gewünschte Bindung an das Dataset funst nicht.
Schlimmer noch... wenn die ComboBox zugeortnet ist versagt sogar die zuvor funktionierende TextBox.
Ich habe dann versucht die interne ComboBox insgesamt als Eigenschaft des UserControll zu definieren.
Im Designer sieht das auch wunderbar aus, die zuordnugen lassen sich perfect einstellen und die bedienug ist ebenso intuitiv wie bei einer einzel auf dem Form liegenden ComboBox....leider zeigt die Combobox nichts an.
Das ganze macht mir den Eindruck als ob das was ich will nicht so vorgesehen ist... 🙁

vielleicht kennt jemand eine Lößung 🙂

28.04.2004 - 17:56 Uhr

Leider kann ich nichts zu deinem Problem sagen.
Ich möchte mich nur für die Inspiration aus deinem Quelltextauszug bedanken dernen Mangel mich einige schlaflose Nächte gekostet hat...

Es ging dabei um ein völlig anderes Problem im Zusammenhang mit der Datenbindung von TextBoxen ect. die in einem UserControll gekapselt sind.
Dabei werden die Usereingaben für jedes Controll mit individuellen Routinen im TextChanged geprüft und ein ErrorProvider markiert noch falsche Felder.