Label op een ander form veranderen

Status
Niet open voor verdere reacties.

Bramvr

Gebruiker
Lid geworden
25 nov 2012
Berichten
216
Beste

Ik zit met een klein probleempje. Ik zou vanop een form een label op een ander form de tekst moeten laten veranderen. Maar ik vind niet hoe ik dit moet doen. Ik had al bij de labels de modiefiers op Public gezet maar helaas zonder resultaat.

Bram

edit:

ik gebruik nu dit het geeft geen errors maar het label blijft onveranderd hoe komt dit?

CommunicationStatus CommunicationStatus = new CommunicationStatus();
CommunicationStatus.ReceviedFail.Text = Properties.Settings.Default.FouteData.ToString();
 
Laatst bewerkt:
Je kunt op je statusform een method maken en die aanroepen
Code:
public void SetError(string errorMessage)
{
	lblError.Text = errorMessage;
}

Je controls public maken is niet de juiste werkwijze.
 
Ik heb nu een methode geprobeerd maar helaas lukt het me nog niet. Ik heb nu dit:

form1:
CommunicationStatus CommunicationStatus = new CommunicationStatus();
CommunicationStatus.test();

form2:
public void test()

{
ReceviedFail.Text = Properties.Settings.Default.FouteData.ToString();
}
 
Is je CommunicationStatus variable dezelfde als waar je de Show() method op gebruikt?
De code moet werken maar zonder de rest van de code kan ik niet zien wat je fout doet. Ook kun je de 'Properties.Settings.Default.FouteData.ToString()' eens vervangen met een hardcoded string "error" ofzo.
 
Als ik showdialog() er bij zet lukt het wel maar dat is eigenlijk niet de bedoeling. De bedoeling is dat wanneer ik in een stukje van men code van het ene form kom dat ik de gegevens op het andere form worden geupdate.
 
dan moet je zoiets als dit doen, een private variable maken in de class scope deze kun je dan overal in het form aanroepen.

Code:
class Form1
{
	private Form2 _form2;
	
	public Form1()
	{
		InitComp();
		_form2 = new Form2();
	}

	private void ShowStatusWindow()
	{
		_form2.Show();		
	}
	
	private void UpdateStatus()
	{
		_form2.SetError("error text");
	}
}
 
Het wil maar niet lukken :( Is het mogelijk om een klein voorbeeldprogrammaatje te maken?

Bram
 
Bedankt. Maar helaas lukt het mij nog niet ik weet niet waar het zit maar we zoeken verder :p
 
Het is toch vrij eenvoudig. Kun je eens je volledige code plakken? waar je Show() gebruikt etc
 
Ik heb het gevonden nu werkt het wel het probleem zat bij de show(). Maar ik zit nu met een ander probleem die methode wordt soms aan geroepen als het form niet open staat. Als ik dan het form probeer te openen dan krijg ik een foutmelding. Hoe moet ik dit oplossen gewoon een if gebruiken om te kijken of het form open staat.
 
Je kunt het formclosingevent gebruiken op je status form om in plaats van dat form de sluiten het te verbergen.

Code:
private void FormClosing(object sender, FormClosingEventArgs e)
{
    e.Cancel = true;
    Hide();
}

Daarna kun je het gewoon weer showen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan