繼承button,然后增加事件
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計、做網(wǎng)站、安仁網(wǎng)絡(luò)推廣、微信小程序定制開發(fā)、安仁網(wǎng)絡(luò)營銷、安仁企業(yè)策劃、安仁品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供安仁建站搭建服務(wù),24小時服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
并且自定義EventArg
思路:
class MyEventArg :EventArg
{
public long MyNum
{
set{ myNum = value;}
get{ return myNum; }
}
private long myNum ;
}
class MyButton:System.Windows.Forms.Button
{
public delegate void MyClick(object sender,MyEventArg e);
public event MyClick OnMyClick;
private MyEventArg myE = new MyEventarg();
protected override void OnClick(EventArgs e)
{
if(OnMyClick != null)
{
OnMyClick(null,myE);
}
base.OnClick(e);
}
}
使用可選參數(shù),(以C#4.0為例)
static int plus(int a,int b, int c=0)
{
return a+b+c;
}
VB.NET可選參數(shù)的默認值必須是一個常數(shù)表達式。
過程定義中跟在可選參數(shù)后的每個參數(shù)也都必須是可選的。
下面的語法顯示帶VB.NET可選參數(shù)的過程聲明:
Sub sub name(ByVal parameter 1 As data type 1,
Optional ByVal parameter 2 As data type 2 = default value)
調(diào)用帶VB.NET可選參數(shù)的過程
過程在運行時無法檢測到給定的參數(shù)是否已被省略,或者調(diào)用代碼是否已顯式提供默認值。如果需要弄清楚這一點,可以設(shè)置一個不可能的值作為默認值。下面的過程定義了可選參數(shù) office,并測試其默認值 QJZ 以查看它在調(diào)用中是否已被省略:
Visual Basic
Sub notify(ByVal company As String, Optional ByVal office As String = "QJZ")
If office = "QJZ" Then
Debug.WriteLine("office not supplied -- using Headquarters")
office = "Headquarters" End If
' Insert code to notify headquarters or specified office.
End Sub
如果可選參數(shù)是像 String 這樣的引用類型,只要它不是該變量所預(yù)期的值,就可以使用 Nothing 作為默認值。
VB.NET可選參數(shù)和重載
定義帶可選參數(shù)的過程的另一種方法是使用重載。如果有一個可選參數(shù),可以定義過程的兩個重載版本,一個接受此參數(shù),另一個則不帶參數(shù)。此方法隨可選參數(shù)數(shù)目的增加而變得更復(fù)雜。然而,這樣做的優(yōu)點是可以完全確定調(diào)用程序是否提供了每個VB.NET可選參數(shù)。
Command 函數(shù)
給程序傳遞參數(shù)后,參數(shù)會保存在command函數(shù)中,通過處理command接受的參數(shù)字符串來來編寫相應(yīng)代碼就行了
例如快捷方式為“D:\Test.exe -s”
程序?qū)懀?/p>
msgbox(command)
得到的結(jié)果為:“-s”