Winforms 以表格C+打印日期和时间+;

Winforms 以表格C+打印日期和时间+;,winforms,c++-cli,Winforms,C++ Cli,你能解决我的问题吗? 我在我的表单中有一个文本字段。我想用字符串打印日期和时间,我的意思是,光标在哪里 我上这门课就是为了这个: #include <Windows.h> //Russian letters are okay for this private: System::Void времяИДатаToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { SYSTEMTIME

你能解决我的问题吗? 我在
我的表单
中有一个
文本
字段。我想用字符串打印日期和时间,我的意思是,光标在哪里

我上这门课就是为了这个:

#include <Windows.h>
//Russian letters are okay for this
private: System::Void времяИДатаToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {


    SYSTEMTIME sys_t;
    GetSystemTime(&sys_t);
    char szFormat[] = "MMMM";
    char Buffer[16];
    sys_t.wMonth = 1; 
    GetDateFormat(LOCALE_USER_DEFAULT, 0, &sys_t, szFormat, Buffer, 256);
}
};
#包括
//俄文字母就可以了
私有:系统::无效工具条菜单项单击(系统::对象^sender,系统::事件参数^e){
系统时间系统;
GetSystemTime(系统时间和系统时间);
字符szFormat[]=“MMMM”;
字符缓冲区[16];
系统月数=1;
GetDateFormat(区域设置\用户\默认值,0,&sys\t,szFormat,缓冲区,256);
}
};
我想使用
MessageBox::Show()
,但这不是为了解决我的问题吗? 你能给我一些建议吗


谢谢。

假设您的文本字段名为
textField
,请使用:

textField->Text = new string(Buffer);
还有,你的电话

GetDateFormat(LOCALE_USER_DEFAULT, 0, &sys_t, szFormat, Buffer, 256);

这是错误的。将
16
,而不是
256
作为最后一个参数传递(因为您已声明缓冲区有16个字符)。

标准警告:虽然可以使用C++/CLI编写应用程序的主体,甚至可以使用WinForms在C++/CLI中编写GUI,但不建议这样做。C++/CLI是用于互操作场景的:C++或其他.NET代码需要与非托管C++接口,C++/CLI可以提供两者之间的转换。对于主要开发,如果需要托管代码,则建议使用Cype或WiFrm或WPF,或者如果您想要非托管的,则使用MFC C++。p> 好的,那就是说:您已经有了完整的.Net库,为什么不使用它呢

void времяИДатаToolStripMenuItem_Click(Object^ sender, EventArgs^ e)
{
    DateTime now = DateTime::Now;
    String^ dateString = now.ToString("MMMM");
}

在我看来,我的文本字段不是
textField
。但是使用
richBoxText1
正确吗?它会像
richBoxText1->Text(缓冲区)我相信您必须执行
richBoxText1->Text=新字符串(缓冲区)