C# WPF:Lambda表达式实现窗口拖拽
提示:先说一下Lambda表达式的基本语法,详细教程去微软官方文档中心
如果 lambda 表达式不返回值,则可以将其转换为 Action 委托类型之一;否则,可将其转换为 Func 委托类型之一。 例如,有 2 个参数且不返回值的 Lambda 表达式可转换为 Action<T1,T2> 委托。 有 1 个参数且不返回值的 Lambda 表达式可转换为 Func<T,TResult> 委托。 以下示例中,lambda 表达式 x => x * x(指定名为 x 的参数并返回 x 平方值)将分配给委托类型的变量:
Func<int, int> square = x => x * x;
Console.WriteLine(square(5));
// Output:
// 25
微软官方文档中心: Lambda 表达式
提示:以下是本篇文章正文内容,下面案例可供参考
使用方法:在构造函数里订阅窗体移动事件
代码如下(示例):
this.MouseMove += (s, e) =>
{
if (e.LeftButton == MouseButtonState.Pressed)
{
this.DragMove();
}
};
MouseMove 事件F12 找到位置如下:
其两个参数分别对应上方(s,e)两个参数,其中是s,e可以任意更改的,只是代表一个参数。