小编Ale*_*lex的帖子

通过 C# 打开 VB 程序时日期格式不正确

这是怎么回事:

我为本地企业维护了一些小型 .NET 应用程序。我们有一对协同工作的应用程序:一个“客户端管理器”(C#/.NET 4.?/winforms)和一个“标签打印机”(VB/.NET 2.0/winforms)。

我最近在客户端管理器中添加了一个“打印标签”按钮。这将打开标签打印机并从客户管理器中预填充客户的名称。呜呼!

不幸的是,只有当标签打印机以这种方式打开时,日期才会以“dd/MM/yyyy”格式打印,而不是“MM/dd/yyyy”。

我知道的:

  • 日期是通过默认为“今天”的标签打印机中的 DateTime winforms 输入输入的。
  • 无论是保留默认日期还是手动更改,我们都会看到格式错误。
  • 我们不会从客户经理那里发送日期。
  • 我们在标签打印机应用程序中使用“.ToShortDateString”
  • 双击快捷方式/EXE 打开标签打印机时从未发生过这种情况。
  • 这仅发生在我们的 Windows 7 Panasonic Toughbook 上。
  • 无论我打印到我们的 Dymo 标签打印机还是 PDF,日期都是错误的。(谢谢,@jdweng!)
  • 根据任务管理器,无论我如何加载标签打印机,它都会作为唯一的本地用户运行。(谢谢,@Polyfun!)
  • 标签打印机的CurrentCultureCurrentUICulture都是en-US,无论我如何加载。(谢谢,@Jimi!)
  • 用户配置文件M/d/yyyy通过“控制面板 > 区域”使用。(谢谢,@Hans Passant!)

相关代码

这是我在客户端管理器中用于打开标签打印机应用程序的 C# 代码(为了清楚起见添加了注释):

 private void btnLabels_Click(object sender, EventArgs e)
 {
    // Set via a hybrid string/file input in the app's "Options" menu.
    string labelAppLocation = Properties.Settings.Default.LabelAppLocation;

    if …
Run Code Online (Sandbox Code Playgroud)

.net c# vb.net winforms

4
推荐指数
1
解决办法
344
查看次数

标签 统计

.net ×1

c# ×1

vb.net ×1

winforms ×1