有如下代码: public partial class Form1 :MyForm
{ public Form11()
{
InitializeComponent();
}
}
public class MyForm : Form
{
protected override CreateParams CreateParams
{
get
{
CreateParams parameter = base.CreateParams;
parameter.ExStyle |= WS_EX_LAYERED;
return parameter;
}
}
const int WS_EX_LAYERED = 0x80000;
}当转到Form1的视图设计器时,发生错误,说是“创建窗口句柄时出错”
{ public Form11()
{
InitializeComponent();
}
}
public class MyForm : Form
{
protected override CreateParams CreateParams
{
get
{
CreateParams parameter = base.CreateParams;
parameter.ExStyle |= WS_EX_LAYERED;
return parameter;
}
}
const int WS_EX_LAYERED = 0x80000;
}当转到Form1的视图设计器时,发生错误,说是“创建窗口句柄时出错”
{
protected override CreateParams CreateParams
{
get
{
new SecurityPermission(SecurityPermissionFlag.UnmanagedCode).Demand();
CreateParams parameter = base.CreateParams;
parameter.Style |= 0x80000;
return parameter;
}
}
}
{
InitializeComponent();
}应该是
public Form1()
{
InitializeComponent();
}
吧!!!!
public Form1() // 不是Form11
{
InitializeComponent();
}另外
public class MyForm : Form
类要写在public partial class Form1 :MyForm
类前面
{
protected override CreateParams CreateParams
{
get
{
CreateParams parameter = base.CreateParams;
parameter.ExStyle |= WS_EX_LAYERED;
return parameter;
}
}
const int WS_EX_LAYERED = 0x80000;
}
{
protected override CreateParams CreateParams
{
get
{
CreateParams cParms = base.CreateParams;
cParms.ExStyle |= 0x00080000; // WS_EX_LAYERED
return cParms;
}
}
}public partial class Form1 : MyForm
{
public Form1()
{
InitializeComponent();
}}
对于目前的状况,7楼正解
但是如果两个类处于不同的文件呢?也就是说有这样两个文件
文件1定义一个类:using using System.Runtime.InteropServices;
public class TansparentForm:Form
{
protected override CreateParams CreateParams
{
get
{
CreateParams cParms = base.CreateParams;
cParms.ExStyle |= 0x00080000; // WS_EX_LAYERED
return cParms;
}
}
//其它完成透明窗体的代码此处略
}文件2:public class Form1:TansparentForm
{}这样的话,如果切换到Form1的视图设计时,还是会报错!又该如何解决呢!
InitializeComponent();
前加个