Это работает на моей машине, потому что я француз ...
Каковы ваши языковые настройки системы и формат даты?
Вы должны сохранить DateTime в частной переменной и использовать ее вместо метки для увеличения, чтобы избежать проблем с преобразованием:
private DateTime Label1DateTime;
private void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Label1DateTime = DateTime.Now;
Label1.Text = Label1DateTime.ToString("dd/MM/yyyy");
}
}
private void Button1_Click(object sender, EventArgs e)
{
Label1DateTime = Label1DateTime.AddDays(1);
Label1.Text = TheDateTime.ToString("dd/MM/yyyy");
}
Теперь он должен работать в любой системе.
В WinForms вы также можете использовать свойство Tag метки, если не хотите создавать член класса ...
private void Form_Load(object sender, EventArgs e)
{
Label1.Tag = DateTime.Now;
Label1.Text = ((DateTime)Label1.Tag).ToString("dd/MM/yyyy");
}
private void Button1_Click(object sender, EventArgs e)
{
if ( Label1.Tag is DateTime )
{
var date = ((DateTime)Label1.Tag);
date = date.AddDays(1);
Label1.Tag = date;
Label1.Text = date.ToString("dd/MM/yyyy");
}
}