Gå til innhold

C#: Får ikke til å skifte navn på C# knapp. Nybegynner.


Anbefalte innlegg

Skrevet (endret)

Hei! Jeg har akkurat begynt med C# koding så det kommer sikkert flere emner om dette fra meg. Fant heller ikke på en bedre tittel til emnet. Jaja nok om det. Det jeg lurte på var hva jeg har gjort feil i denne koden. Takker på forhånd :)

 

 using System;
  using System.Windows.Forms;
  using System.Drawing;

  class FormWithWorkingButton : Form
  {
   // The constructor method for our class
   public FormWithWorkingButton()
   {
	   // Set the window title
	   this.Text = "Simple form with working button";

	   // Add a button and hook it up to an event handler method

	   Button button1 = new Button();
	   button1.Text = "Click me";
	   button1.Click += new System.EventHandler(Button1_Click);
	   this.Controls.Add(button1);

   }

   static void Main()
   {
	   // Start a new instance of a forms application, using our class above
	   Application.Run(new FormWithWorkingButton());
   }

   // An event handler that will be run when the button is clicked
   void Button1_Click(object sender, EventArgs e)
   {
	   // Change the window title
	   this.Text = "Button was clicked";
   }
   {
	   //Changing the button title
	   Button button1 = new Button();
	   button1.Text = "You";
   }

Endret av adrianpip2000
Videoannonse
Annonse
Skrevet (endret)

void Button1_Click(object sender, EventArgs e)

{

// Change the window title

this.Text = "Button was clicked";

//Changing the button title

Button button1 = new Button();

button1.Text = "You";

}

 

Litt for mange klammer der

Endret av Qwark
Skrevet

Hjelper ikke hvor mange klammer det er når han lager en ny knapp.

 

Når du skriver Button button1 = new Button(); så har du plutselig en ny instans av knappen.

For å endre navnet på knappen du allerede har så må du hente den ut fra formen. Dette er litt vanskelig da du lager knappen i runtime, men siden du gjør dette i "Click"-eventen til knappen så er ditt "sender" objekt knappen din.

 

	void Button1_Click(object sender, EventArgs e)
{
	// Change the window title
	this.Text = "Button was clicked";

	//Changing the button title
	//Button button1 = new Button(); <- ikke slik
	Button button1 = (Button)sender; // <- men slik.
	button1.Text = "You";
}

Du må kjøre en cast på sender siden du vet at det er en Button, men det vet ikke C# uten at du sier det.

 

-C-

Skrevet

Fjern noen klammer:

 

// An event handler that will be run when the button is clicked
   void Button1_Click(object sender, EventArgs e)
   {
	   // Change the window title
	   this.Text = "Button was clicked";
	   //Changing the button title
	   //Button button1 = new Button();
	   Button button1 = sender as Button;
	   button1.Text = "You";
   }

Skrevet (endret)

Har prøvd dette men nå fungerer ikke "Debugging" knappen: BILDE

 

Jeg bruker denne koden:

 

using System;
using System.Windows.Forms;
using System.Drawing;

class FormWithWorkingButton : Form
{
// The constructor method for our class
public FormWithWorkingButton()
{
	// Set the window title
	this.Text = "Simple form with working button";

	// Add a button and hook it up to an event handler method

	Button button1 = new Button();
	button1.Text = "Click me";
	button1.Click += new System.EventHandler(Button1_Click);
	this.Controls.Add(button1);

}

static void Main()
{
	// Start a new instance of a forms application, using our class above
	Application.Run(new FormWithWorkingButton());
}

// An event handler that will be run when the button is clicked
void Button1_Click(object sender, EventArgs e)
{
	// Change the window title
	this.Text = "Button was clicked";

	//Changing the button title
	//Button button1 = new Button(); <- ikke slik
	Button button1 = (Button)sender; // <- men slik.
	button1.Text = "You";
}
}

Endret av adrianpip2000
Skrevet

Ser ut som du har gjort noe slik at .cs filen ikke lenger er del av et prosjekt, hvis du ser helt til høyre ser du i solution explorer at du har en solution men ingen prosjekter, hva du har gjort for å få til deg vet jeg ikke

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...