我建了两个窗体 Form1和Form2, 我想在两个窗体之间传递参数,我想在Form1中声明一个Form2的对象,但是好像规则不允许。请大家指点一下,谢谢了!form类的声明如下(系统生成的):public ref class Form : public System::Windows::Forms::Form

解决方案 »

  1.   

    .net还是C#啊?
    一般不考虑直接把form对象传递过去吧,自己做一个参数类型,然后form类添加传递参数的接口。
      

  2.   

    窗体的明白了,谢谢两位!我现在想在一个对话框的编辑框里输入ABC然后再另一个对话框中显示出ABC,还想用消息机制,该怎么实现呢,哪位大虾能给段代码?谢谢啦
      

  3.   

    现在我假设工程中有两个窗口,Main窗口,Sub窗口,对应的类为CMainDlg和CSubDlg;
    MainDlg里我有个Edit1和Button1,窗口SubDlg有Edit1,下面代码是Main窗口中,单击Button1的函数:void CMainDlg::OnButton1() 
    {
    // TODO: Add your control notification handler code here
    CSubDlg *pDlg = new CSubDlg;
    pDlg->Create(IDD_DIALOG1);
    CString str;
    GetDlgItem(IDC_EDIT1)->GetWindowText(str);
    char *pStr;
    pStr = (LPSTR)(LPCTSTR)str;
    pDlg->SendMessage(WM_GETVALUE, (WPARAM)pStr);
    pDlg->ShowWindow(SW_SHOW);
    }然后我在SubDlg里添加消息映射和消息响应函数,这个会吧..在SubDlg.h文件里加自定义消息
    #define WM_GETVALUE WM_USER + 100
    同样在这个文件里声明消息响应函数 afx_msg void OnGetValue(WPARAM wParam);
    在SubDlg.cpp文件里添加消息映射 ON_MESSAGE(WM_GETVALUE, OnGetValue)
    消息响应函数如下:void CSubDlg::OnGetValue(WPARAM wParam)
    {
    char *pValue = (char *)wParam;
    GetDlgItem(IDC_EDIT1)->SetWindowText(pValue);

    }
      

  4.   

    人家说的是不是mfc是指c++.net中的form
      

  5.   

    建议楼主还是学c#的好,c++。net基本没人用的,第一:代码太多,不如c#,vb简洁,第二:不如mfc 灵活,感觉实在是鸡肋
      

  6.   

    谁说的C++没有人用,我就是只学了C#,结果到公司,还必须会C++,郁闷死,幸好原来还看过唉!