1.一個應用程序只能被用戶打開一次
process mobj_pro =process.getcurrentprocess();
process[] mobj_prolist=process.getprocessesbyname(mobj_pro.processname);
if(mobj_prolist.length>1)
{
messagebox.show("當前的應用程序已打開!", "系統(tǒng)提示", 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中實現(xiàn)按回車鍵相當于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}");
}
}
}
}
新聞熱點
疑難解答
圖片精選