病毒的自留地
“中国版”文档格式标准有望打破微软垄断
病毒的自留地 发表于 2009-11-01 18:31:39
中国企业将UOF Open SDK开发包以开源的形式无偿提供给社会,这一开发包便于办公软件厂商生产基于中国自主知识产权的UOF文档格式标准软件.专家认为,符合UOF标准的软件推广可使国产办公软件互联互通,同时削弱微软Office垄断市场的局面.UOF是《中文办公软件文档格式规范》国家标准,它是以中文办公软件的普遍需求为出发点,体现中文办公特色的国家信息化建设基础标准.近日,在金山UOF SDK网站开通发布会上,专家认为,如果软件厂商通用UOF国家标准,那么办公软件可以实现更好地兼容与互读互通,有利于信息的发布、检索和长期存档.
金山办公软件公司CEO葛珂说,近些年微软大力推进其封闭式文档格式标准,国产office在推广中遇到的最大难题就是要与微软的文档格式兼容.金山办公软件公司已开通UOF SDK网站(http://www.uofsdk.org/),将UOF Open SDK开发包以开源的形式无偿提供给社会.办公软件企业、OA集成商、中间件厂商及办公软件用户均可下载SDK开发包,然后生产基于UOF国家标准格式的文字处理、电子表格和演示文稿模块,使UOF格式标准得到更大的推广应用.
中国电子技术标准化研究所国际标准化部主任吴志刚近日称,UOF与微软的文档格式标准OOXML不同,它是开放性的文档格式标准,容易被众多产品支持.UOF标准的推广应用可使国产办公软件互联互通,同时削弱微软office垄断市场的局面.
中国工程院院士、中国软件联盟副理事长倪光南表示,中国有世界上最大的市场,UOF虽然现在是国家标准,但将来一定会成为国际标准.同两年前一样,倪光南仍然反对微软OOXML文档格式标准一家独大,他说目前最迫切的任务是加大符合UOF文档格式标准的产品生产、推广,从而逐步摆脱对国外相关软件产品的依赖.
父子窗体的实现
病毒的自留地 发表于 2009-06-22 09:40:25
1. 先新建父窗口,如 frmFather;
| frmFather.isMdiContainer = True; |
2. 建立若干子窗口,如frmChildrenOne;
3. 建立父子关系——在父窗体中实例化子窗体:
| frmChildrenOne FirstChild = new frmChildrenOne(); FirstChild.MdiParent = this; //←设置frmFather为父窗体 |
4. 在需要时显示子窗体;
FirstChild.Show(); //←这里只能用Show,而不是ShowDialog因为子窗体的权限不能高过父窗体;
5. 仅仅完成上面的步骤,可以让子窗体出现,并被限制在父窗体中,但是子窗体可以不唯一的重复构建,造成麻烦,可以再添加一下代码,加以控制;
| foreach (Form childrenForm in this.MdiChildren) { //检测是不是当前子窗体名称(是Name不是标题Text) if (childrenForm.Name == "frmLogin") { //是的话就是把他显示 childrenForm.Visible = true; //并激活该窗体 childrenForm.Activate(); return; } } |
PCI喇叭鸣叫方法
病毒的自留地 发表于 2009-06-22 09:31:06
| using System.Runtime.InteropServices; [DllImport("kernel32.dll", EntryPoint = "Beep")] public static extern int Beep(int dwFreq, int dwDuration); /// <summary> /// 通过此方法发出声音通知用户 /// </summary> public static void CollateBeep(int freq, int duration) { Beep(freq, duration); } |
然后在代码中只要使用Beep()方法就能让PCI鸣叫。
Beep() 中的dwFreq为鸣叫频率,控制着PCI的音量大小(至少是很有关系了),目前测试下来2000左右的数值是比较高音的;
dwDuration为鸣叫持续时间,单位为ms,一般单频率的话,500ms已经算很长了,200ms左右比较合适。
| for (int i = 0; i < 5; i++) { CollateBeep(2000, 100); CollateBeep(3000, 100); } |
若如以上代码那样,高低频率交替鸣叫,这样的效果会更好~
打开新窗口并关闭当前的窗口的实现办法
病毒 发表于 2008-09-01 10:36:18
private void simpleButton1_Click(object sender, EventArgs e)
{
this.Hide();
Form2 form2 = new Form2();
form2.Show();
}
| private void Form2_Load(object sender, EventArgs e) { Form1 form1 = new Form1(); form1.ShowDialog(); } |
在Form1中代码为:
| private void simpleButton1_Click(object sender, EventArgs e) { this.Close(); } |
http://whx.tzgt.gov.cn/newOperate/html/1/11/112/8542.html
