下面invoke方法的作用是什么啊,InvokeMember又是怎么用的呢,谢谢高手指点```
#region ファンクションキー押下イベント
private void ucFunctionKey_FunctionKeyPress(object sender, GrapeCity.Win.Input.FunctionKeyPressEventArgs e)
{
// 各キーの処理
switch (e.KeyIndex)
{
case 3: // F4 前画面
this.Close();
break;
case 4:
if ( e.Shift )
{
// Shift+F5 詳細
invoke("DetailFormRun");
}
else
{
// F5 検索
invoke("SearchFormRun");
}
break;
default:
break;
}
}
#endregion #region invokeメソッド
/// <summary>
/// 親のFormのメソッドを呼び出す。
/// </summary>
/// <param name="methodName">親に実装されているメソッド名</param>
/// <returns></returns>
private object invoke(string methodName)
{
if (!(this is IEnableFunctionKeys)) return null;
Form f = (Form)this;
Type t = f.GetType();
return t.InvokeMember(methodName,
BindingFlags.InvokeMethod,
null,
f,
new object[] {});
}
#endregion
#region ファンクションキー押下イベント
private void ucFunctionKey_FunctionKeyPress(object sender, GrapeCity.Win.Input.FunctionKeyPressEventArgs e)
{
// 各キーの処理
switch (e.KeyIndex)
{
case 3: // F4 前画面
this.Close();
break;
case 4:
if ( e.Shift )
{
// Shift+F5 詳細
invoke("DetailFormRun");
}
else
{
// F5 検索
invoke("SearchFormRun");
}
break;
default:
break;
}
}
#endregion #region invokeメソッド
/// <summary>
/// 親のFormのメソッドを呼び出す。
/// </summary>
/// <param name="methodName">親に実装されているメソッド名</param>
/// <returns></returns>
private object invoke(string methodName)
{
if (!(this is IEnableFunctionKeys)) return null;
Form f = (Form)this;
Type t = f.GetType();
return t.InvokeMember(methodName,
BindingFlags.InvokeMethod,
null,
f,
new object[] {});
}
#endregion
解决方案 »
- windows forms (不是wpf)可以做3d开发么?有没有存储立体坐标的类型?
- DOM文档操纵
- 第六张贴,换思路了,大侠请进,100分。
- 点button一下赋值,再点一下清空值
- 谁给共享一个 Microsoft Visual Studio 2005 文档 里面带c#的!
- 为什么用 webBrowser1.DocumentText 时会出UnauthorizedAccessException 异常?
- 鼠标右键功能
- 关于binding
- 关于Window.open的问题!
- 为什么unsafe的block不能通过compile
- 子窗体的工具栏在运行时是否可以放到父窗体上
- 如何捕获高速摄像头视频流.并且逐帧显示出来?
比如:// F5 検索 invoke("SearchFormRun");在F5压下时调用SearchFormRun()方法
我不知道为什么要通过invoke("SearchFormRun")这种方式,而不直接用SearchFormRun()调呢。
很迷惑哈,请高手帮忙解答!