gpt4 book ai didi

c# - 保持转换(使用 .ToString())日期时间转换

转载 作者:太空宇宙 更新时间:2023-11-03 12:14:14 25 4
gpt4 key购买 nike

我有一个文本框,其中有一个日期。我使用以下代码行转换日期:

txtTextbox.Text = Convert.ToDateTime(txtTextbox.Text).ToString("dd/MM/yyyy");

文本框中的文本现在是“05/12/1978”。

但是当我在文本框内单击以编辑日期但我改变主意并离开文本框时,文本如下:“05/12/1978 0:00:00”。

我试图通过转换 txtTextbox_Leave 事件中的日期来解决这个问题,但这不起作用。

编辑:

private void Form1_Load(object sender, EventArgs e)
{
// TableAdapters
tblWerknemersTA = new dtsGIPTableAdapters.tblWerknemersTableAdapter();
tblAfdelingenTA = new dtsGIPTableAdapters.tblAfdelingenTableAdapter();

// DataSet
dtsGIP = new dtsGIP();
tblWerknemersTA.Fill(dtsGIP.tblWerknemers);
tblAfdelingenTA.Fill(dtsGIP.tblAfdelingen);

// DataView
dtvWerknemers = dtsGIP.tblWerknemers.DefaultView;
dtvWerknemers.Sort = "Familienaam ASC";

// BindingSource
tblWerknemersBS = new BindingSource();
tblWerknemersBS.DataMember = "tblWerknemers";
tblWerknemersBS.DataSource = dtvWerknemers;

// Databindings
textBox1.DataBindings.Add(new Binding("text", tblWerknemersBS, "Geboortedatum"));

// Convert date
textBox1.Text = Convert.ToDateTime(textBox1.Text).ToString("dd/MM/yyyy");
}

在这个演示应用程序中,我有两个文本框,当我点击第一个然后再点击第二个时会出现问题。

编辑 2:

private void Form1_Load(object sender, EventArgs e)
{
// TableAdapters
tblWerknemersTA = new dtsGIPTableAdapters.tblWerknemersTableAdapter();
tblAfdelingenTA = new dtsGIPTableAdapters.tblAfdelingenTableAdapter();

// DataSet
dtsGIP = new dtsGIP();
tblWerknemersTA.Fill(dtsGIP.tblWerknemers);
tblAfdelingenTA.Fill(dtsGIP.tblAfdelingen);

// DataView
dtvWerknemers = dtsGIP.tblWerknemers.DefaultView;
dtvWerknemers.Sort = "Familienaam ASC";

// BindingSource
tblWerknemersBS = new BindingSource();
tblWerknemersBS.DataMember = "tblWerknemers";
tblWerknemersBS.DataSource = dtvWerknemers;

// Databindings
Binding textBoxBinding = new Binding("text", tblWerknemersBS, "Geboortedatum");
textBoxBinding.FormatString = "dd/MM/yyyy";
textBox1.DataBindings.Add(textBoxBinding);
}

最佳答案

当您使用数据绑定(bind)时,它会在数据更改时更新控件。除非您指定特定格式,否则它将使用默认格式。像您那样将绑定(bind)属性设置为特定值是相当不寻常的,因为您通常让绑定(bind)数据确定显示的值。在任何情况下,您都不能依赖于设置值时使用的特定格式(除非它与绑定(bind)格式匹配)。

您的解决方案是设置绑定(bind)格式:

// Databindings
Binding textBoxBinding = new Binding("text", tblWerknemersBS, "Geboortedatum", true,
DataSourceUpdateMode.OnValidation, null, "d");
textBox1.DataBindings.Add(textBoxBinding);

关于c# - 保持转换(使用 .ToString())日期时间转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50552459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com