让其它窗口成为我的子窗口
各位兄弟,在VB2005里怎么让其它窗口成为我的窗口的子窗口?我用API老是不成功,帮帮我.
[解决办法]
你讲的其它窗口是指其它程序的窗口吗?
[解决办法]
主窗体的IsMdiContainer属性选择ture
[解决办法]
这个比较难,关注.
尤其是一个工程比较大的时候,分拆成几个EXE的情况.很有必要来其它另一个EXE的窗体也加载到同一个MDI窗体中来.
[解决办法]
'
Public Declare Function SetParent Lib "user32 " Alias "SetParent " ( _
ByVal hWndChild As IntPtr, _
ByVal hWndNewParent As IntPtr _
) As Integer
SetParent(New IntPtr(2689890), Me.Handle) '2689890是 "计算器 "的句炳
[解决办法]
主窗体的IsMdiContainer属性选择ture
Dim frm_AddUser As New frmUserManage
frm_AddUser.MdiParent = Me
frm_AddUser.Show()
[解决办法]
Panel可行
[解决办法]
你说的字窗体是什么意思?
[解决办法]
你直接采用MDI结构不是很好
在主窗体中调用创建子窗体的方法
private void CreateChildForm(string formName, Form aForm)
{
bool find = false;
Form findForm = null;
//查找已创建的窗体,若找到,find为true
foreach (Form f in MdiChildren)
{
if (f.Name == formName)
{
find = true;
findForm = f;
}
}
//如果未找到,创建该窗体,否则激活该窗体
if (!find)
{
try
{
aForm.MdiParent = this;
aForm.Show();
}
catch (DBRecordException db)
{
//记录日志异常
UIMisc.LogWrite(db, "Menu: --> Every Form --> CustomException ");
MessageBox.Show(db.Message);
aForm.Dispose();
return;
}
catch (SqlException se)
{
//记录日志异常
UIMisc.LogWrite(se, "Menu: --> Every Form --> SqlException ");
MessageBox.Show(se.Message);
aForm.Dispose();
return;
}
catch (Exception ex)
{
//记录日志异常
UIMisc.LogWrite(ex, "Menu: --> Every Form ");
//抱歉,程序出现错误,请尝试重新启动程序,并与管理员联系
MessageBox.Show(ResourceFactory.GetMultilanguage( "GENERALERRORMESSAGE "), " ", MessageBoxButtons.OK, MessageBoxIcon.Error);
aForm.Dispose();
}
}
else
{
findForm.Activate();
}
}
[解决办法]
纯顶...mark