多次单击按钮时C#更改标签文本

对不起,我是新手,只是想知道是否有人可以提供帮助,我试图让我的标签在每次点击按钮时更改其文本。 不知道我应该怎么做。 任何人都可以帮助我。

private void button1_Click(object sender, EventArgs e) { string[] MonthName; MonthName = new string[12]; MonthName[0] = "January"; MonthName[1] = "February"; MonthName[2] = "March"; MonthName[3] = "April"; MonthName[4] = "May"; MonthName[5] = "June"; MonthName[6] = "July"; MonthName[7] = "August"; MonthName[8] = "September"; MonthName[9] = "October"; MonthName[10] = "November"; MonthName[11] = "December"; label1.Text = (MonthName[0]); label1.Text = (MonthName[1]); 

这应该是诀窍:

在类中声明数组和int

 string[] MonthName = { "Jan", "Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec" }; static int i = 0; 

然后在按钮单击

 protected void btnAddMonth_Click(object sender, EventArgs e) { lblMonth.Text = MonthName[i]; i = (i+1) % 12; } 

这样做可能更容易:

 DateTime currentDate = new DateTime(DateTime.Now.Year, 1, 1); // Per Habib's suggestion private void button1_Click(object sender, EventArgs e) { label1.Text = currentDate.ToString("MMMM"); currentDate = currentDate.AddMonths(1); } 
  1. 将数组初始化移动到单击处理程序之外。
  2. 有一个隐藏的标签存储计数器,以确定要选择的数组中的哪个元素。

类似下面的代码。 请注意,这不是最优雅的代码,但我想保持简单,因为你说你是新手。

 var Months = new List { "January", "February", "March", "April", "May", "July", "August", "September", "October", "November", "December" }; private void button1_Click(object sender, EventArgs e) { if(string.IsNullOrEmpty(labelHiddenCounter.Text)) labelHiddenCounter.Text = "0"; if(labelHiddenCounter.Text == "11") labelHiddenCounter.Text = "-1"; var nextCounter = Convert.ToInt32(labelHiddenCounter.Text) + 1; label1.Text = (Months[nextCounter]); labelHiddenCounter.Text = nextCounter.ToString(); } 

如果您希望在单击按钮使用时出现随机月份。

  var random = new Random(); var months = new List { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; int index = random.Next(months.Count); label1.Text = (months[index]);