1

我是 C# 的新手。
我有一个Textbox,它被允许接受double_byte字符串,它用于输入/显示Date Value。现在我遇到了一个问题,我不知道如何解决。我搜索了一下,找不到任何解决方案。
当我写Double_ByteCharacters( 2012/12/31 ) 时,我想将此值更改为 TextBox 的 ( 2012/12/31 )Leave_EventText_Changed此 TextBox 的 Event 。那么,我该如何解决这个问题。

编辑-> 我的解决方案是窗口应用程序。

提前致谢。

4

3 回答 3

4

您应该能够使用Encoding.Defaultdouble_byte字符串转换为single_byte字符串

 string singleByteString = Encoding.Default.GetString(Encoding.Default.GetBytes(inputText));

测试:

    private void button1_Click(object sender, EventArgs e)
    {
        string inputText = textBox1.Text;
        string singleByteString = Encoding.Default.GetString(Encoding.Default.GetBytes(inputText));

        textBox2.Text = singleByteString;
        textBox3.Text = inputText;
    }

结果:

在此处输入图像描述

于 2013-03-11T06:02:17.737 回答
1

感谢您的所有回答和兴趣。
我为此搜索了一个解决方案,但没有找到任何答案。最后,我从同事那里得到了一个很好的答案。因此,我分享这个问题的答案。

  1. 添加参考 Microsoft.VisualBasic
  2. 编写这样的代码(像sa_ddam213 的答案一样测试)-

using Microsoft.VisualBasic;

private void button1_Click(object sender, EventArgs e)
{
      string inputText = textBox1.Text;
      string singleByteString =  Strings.StrConv(inputText, VbStrConv.Narrow, 0);

      textBox2.Text = singleByteString;
      textBox3.Text = inputText;
}
于 2013-03-11T07:36:07.327 回答
-1

当您在数据库中发送文本框值时,将其解析为日期。

确保将该文本框的 x 值作为 DateTime 数据类型存储在数据库中。

解析可以如下进行>

double d = double.Parse(txtDate.text);
DateTime conv = DateTime.FromOADate(d);

或者最简单的方式使用>>

DateTime.Parse(txtDate.Text);

希望这会帮助你。

于 2013-03-11T05:45:52.337 回答