一个关于刷新的问题

BossFriday 2009-03-11 05:57:23
一个窗体中有:一个第三方的日历控件,一个button

public Form1()
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("ar-SA");
InitializeComponent();
}
如果在构造函数中指定当前的语言,那么日历控件显示阿拉伯的时间形式.(这个和希望的一样)

private void button1_Click(object sender, EventArgs e)
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-cn");
Calendar.Refresh(); //这个没有起作用!
}

当窗体起来之后,点button去改变当前的语言,该控件的显示不改变(希望日历控件的时间格式的显示也发生改变).
请问怎么样,做这个刷新呢?(该日历控件是WPF的)
重绘form?不知道怎么写.
重绘控件?也不知道怎么写.
请附简单代码说明思路.
谢谢
...全文
225 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoulehua 2009-03-19
  • 打赏
  • 举报
回复
3楼不错
BossFriday 2009-03-16
  • 打赏
  • 举报
回复
我的意思是有办法,在运行时,能够让日历的Culture显示改变吗?
cja03 2009-03-16
  • 打赏
  • 举报
回复
private void button1_Click(object sender, EventArgs e)
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-cn");
ComponentResourceManager resources = new ComponentResourceManager(typeof(Form1));
resources.ApplyResources(Calendar, Calendar.Name);
}
netcoder 2009-03-13
  • 打赏
  • 举报
回复
http://support.microsoft.com/kb/889834

出现此问题的原因 DateTimePicker 控件和 MonthCalendar 控件都是 Microsoft Windows 公共控件。 因此,操作系统的用户区域设置确定这些控件的用户界面。


解决方案若要更改此行为,更改用户区域设置日历控制面板中的设置。 要这样做,请按下列步骤操作: 单击 开始 ,单击 控制面板 ,然后双击 区域和语言选项 。 在 区域和语...若要更改此行为,更改用户区域设置日历控制面板中的设置。 要这样做,请按下列步骤操作:
单击 开始 ,单击 控制面板 ,然后双击 区域和语言选项 。
在 区域和语言选项 对话框,选择所需控件使用的区域设置 选择要匹配其的首选项的项目,或单击自定义选择自己的格式 部分中的项的选择。
=========
说的很清楚了,只能通过控制面板修改!
BossFriday 2009-03-13
  • 打赏
  • 举报
回复
up
zzxap 2009-03-13
  • 打赏
  • 举报
回复
不是刷新问题。
你都知道
Thread.CurrentThread.CurrentCulture = new CultureInfo("ar-SA");
要放在
InitializeComponent();
上面了。
deadshot123 2009-03-13
  • 打赏
  • 举报
回复
还是让用户配置完CurrentCulture 重启应用程序再变化

没有哪个用户会不停的切换CurrentCulture 吧
wearyq 2009-03-13
  • 打赏
  • 举报
回复
新手,逛逛
zhoulehua 2009-03-13
  • 打赏
  • 举报
回复
重绘,参考3楼
BossFriday 2009-03-12
  • 打赏
  • 举报
回复
up
zgke 2009-03-12
  • 打赏
  • 举报
回复
Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-cn");
第3方日期控件的.Refresh(); //这个没有起作用!


如果控件这个方法不能用...你的关心这个控件的方法了.


jlj84237485 2009-03-12
  • 打赏
  • 举报
回复
帮顶一下
悔说话的哑巴 2009-03-12
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 camelials 的回复:]
引用 8 楼 jinjazz 的回复:
关键是这个控件怎么写的,实在不行重新用代码构造一个

代码是有的,关键现在不知道怎么写可以让它能refresh或者说重绘.
[/Quote]
什么意思
yulien 2009-03-12
  • 打赏
  • 举报
回复
ding
yulien 2009-03-12
  • 打赏
  • 举报
回复
ding
rollng 2009-03-12
  • 打赏
  • 举报
回复
up
BossFriday 2009-03-12
  • 打赏
  • 举报
回复
up
MOTA 2009-03-12
  • 打赏
  • 举报
回复
mark,关注~
BossFriday 2009-03-12
  • 打赏
  • 举报
回复
up
way106vip 2009-03-11
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 cja03 的回复:]
不是刷新问题。
你都知道
Thread.CurrentThread.CurrentCulture = new CultureInfo("ar-SA");
要放在
InitializeComponent();
上面了。
[/Quote]
同意
加载更多回复(12)

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧