首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#参数传递的有关问题

2012-09-11 
C#参数传递的问题先把代码贴出了,好说事。C# codeif (m.Msg WM_NCLBUTTONDOWN){intisDragFullWindow//

C#参数传递的问题
先把代码贴出了,好说事。

C# code
            if (m.Msg == WM_NCLBUTTONDOWN)            {                int  isDragFullWindow;                // 1,查询当前系统“拖动显示窗口内容”设置                SystemParametersInfo(SPI_GETDRAGFULLWINDOWS,0, out isDragFullWindow,0);                // 2,如果需要修改设置,则在每次进入WM_NCLBUTTONDOWN默认处理之前修改                if ( isDragFullWindow == 1)                {                    SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, 0, 0, 0);                                  }                // 3,to do something                base.WndProc(ref m);                // 4,处理完毕后,还原系统设置                if (isDragFullWindow == 1)                {                    SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, 0,  1, 0);                }                                  }


SystemParametersInfo 函数的定义:

C# code
        [DllImport("user32.dll",CharSet = CharSet.Auto)]        public static extern int SystemParametersInfo(int uAction, int uParam,out  int lpvParam, intfuWinIni);


其实上面的代码有个小问题:

  我看过SystemParametersInfo这个函数在C++中既可以用来接受参数,类似C#中 out 的用法 ,如函数的第一次的使用,也可以用来直接提供参数,如函数的第二、三次的使用。但是这种在C#中是通不过的,请问这种情况该如何解决。

[解决办法]
你可以再定义一个没有out的重载

热点排行