zoukankan
html css js c++ java
c#开发windows应用程序几个小技巧
From:
http://elevenwolf.cnblogs.com/archive/2004/07/23/26969.html
1.一个应用程序只能被用户打开一次
Process mobj_pro
=
Process.GetCurrentProcess();
Process[] mobj_proList
=
Process.GetProcessesByName(mobj_pro.ProcessName);
if
(mobj_proList.Length
>
1
)
{
MessageBox.Show(
"
当前的应用程序已打开!
"
,
"
系统提示
"
, MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
return
;
}
2.一个框架窗口下只打开一个子窗口
CustomerAdd pobj_CustomerAdd;
Form pobj_CustomerAdd_Return
=
CheckIsExit(
"
CustomerAdd
"
);
if
(pobj_CustomerAdd_Return
==
null
)
{
pobj_CustomerAdd
=
new
CustomerAdd();
OpenSheet(pobj_CustomerAdd);
}
else
{
OpenSheet((CustomerAdd)pobj_CustomerAdd_Return);
}
void
OpenSheet(Form pobj_form)
{
pobj_form.MdiParent
=
this
;
pobj_form.Show();
}
/**/
/**/
/**/
///
<summary>
///
判断窗口是否存在
///
</summary>
///
<param name="ps_windowName">
窗口的名称
</param>
///
<returns>
存在返回此窗口的实例 不存在返回null
</returns>
Form CheckIsExit(
string
ps_windowName)
{
for
(
int
i
=
0
;i
<
this
.MdiChildren.Length;i
++
)
{
if
(
this
.MdiChildren[i].Name
==
ps_windowName)
{
return
this
.MdiChildren[i];
}
}
return
null
;
}
3.弹出式窗口显示渐变效果
在页面上添加一个timer控件fadeTimer,interval设为50
类的实例变量为
private m_showing=true;
在form_load中写:
Opacity
=
0.0
;
Activate();
Refresh();
fadeTimer.Start();
Refresh();
在timer控件的Tick事件中写:
if
(m_showing)
{
double
d
=
1000.0
/
fadeTimer.Interval
/
100.0
;
if
(Opacity
+
d
>=
1.0
)
{
Opacity
=
1.0
;
fadeTimer.Stop();
}
else
{
Opacity
+=
d;
}
}
else
{
double
d
=
1000.0
/
fadeTimer.Interval
/
100.0
;
if
(Opacity
-
d
<=
0.0
)
{
Opacity
=
0.0
;
fadeTimer.Stop();
}
else
{
Opacity
-=
d;
}
}
4.在控件textbox中实现按回车键相当于tab键的作用
public
class
OSTextBox:TextBox
{
public
OSTextBox()
{
}
bool
mb_IsKeyEnter
=
true
;
[
Category(
"
Data
"
),
DefaultValue(
true
),
MergableProperty(
false
)
]
public
bool
IsKeyEnter
{
get
{
return
mb_IsKeyEnter;
}
set
{
mb_IsKeyEnter
=
value;
}
}
protected
override
void
OnKeyPress(KeyPressEventArgs e)
{
base
.OnKeyPress (e);
if
(mb_IsKeyEnter)
{
if
(e.KeyChar
==
(
char
)Keys.Enter)
{
SendKeys.Send(
"
{Tab}
"
);
}
}
}
}
这些都是值得总结使用的
查看全文
相关阅读:
LeetCode——003 Longest Substring Without Repeating Characters
LeetCode——002 Add Two Numbers
LeetCode——001 Two Sum
【日常训练】Hockey(CodeForces-96C)
【日常训练】数据中心(CSP 201812-4)
【赛后补题】Lucky Probability(CodeForces 110D)
「Leetcode」14. Longest Common Prefix(Java)
「Leetcode」13. Roman to Integer(Java)
「日常训练」Magic Stones(CodeForces-1110E)
「日常训练」Jongmah(Codeforces-1110D)
原文地址:https://www.cnblogs.com/jhtchina/p/334834.html
最新文章
自娱自乐之选择排序
自娱自乐之快速排序
自娱自乐之冒泡排序
视频压缩:I帧、P帧、B帧
学会分析YUV数据
dll附加依赖项查看——dumpbin 命令
在MinGW下编译ffmpeg
FFPLAY的原理
ffmpeg 在windows 上编译
SDL相关资料
热门文章
FFMpeg编译之路
MinGW安装与使用简介
2010_3_1最新 完整 FFMPEG 编译详解
LeetCode——012 Integer to Roman
LeetCode——010 Regular Expression Matching
LeetCode——009 Palindrome Number
LeetCode——008 String to Integer (atoi)
LeetCode——007 Reverse Integer
LeetCode——006 ZigZag Conversion
LeetCode——005 Longest Palindromic Substring
Copyright © 2011-2022 走看看