精华内容
下载资源
问答
  • 这里只讲在MDI中,菜单与父菜单合并的简单方法。...1. 在主窗体构造函数中,添加如下代码,注意要在InitializeComponent调用之后,如:  //Add File Menu  MenuItem miFile = mnuMain.MenuItems.Add("&File");

      这里只讲在MDI中,子菜单与父菜单合并的简单方法。

     

    首先在MDI的主窗体中:

    1.  在主窗体构造函数中,添加如下代码,注意要在InitializeComponent调用之后,如:

                //Add File Menu

                MenuItem miFile = mnuMain.MenuItems.Add("&File");

                miFile.MergeOrder=1;

                miFile.MergeType = MenuMerge.MergeItems;

     

                MenuItem miAddDoc = new MenuItem( "&Add Document",

                    new EventHandler(this.FileAdd_Clicked),

                    Shortcut.CtrlA );

                miAddDoc.MergeOrder=100;

     

                MenuItem miExit = new MenuItem( "E&xit",

                    new EventHandler(this.FileExit_Clicked),

                    Shortcut.CtrlX );

                miExit.MergeOrder=110;

     

                miFile.MenuItems.Add(miAddDoc);

                miFile.MenuItems.Add("-");     // Give a seperator

                miFile.MenuItems.Add(miExit);

     

                //Add Window Menu

                MenuItem miWindow = mnuMain.MenuItems.Add("&Window");

                miWindow.MergeOrder = 10;

                miWindow.MenuItems.Add( "&Cascade",

                    new EventHandler(this.WindowCascade_Clicked));

                miWindow.MenuItems.Add( "Tile &Horizontal",

                    new EventHandler(this.WindowTileH_Clicked));

                miWindow.MenuItems.Add( "Tile &Vertical",

                    new EventHandler(this.WindowTileV_Clicked));

                miWindow.MdiList = true ; //Adds the MDI Window List to the bottom of the menu

     

    2.  然后为相应的Menu_Click事件定义函数,如:

            #region MENU_CLICK_MESSAGE_HANDLE

            //File->Add Menu item handler

            protected void FileAdd_Clicked(object sender, System.EventArgs e)

            {

                AddMDIChild() ; //Create new MDI child window

            }

     

            //File->Exit Menu item handler

            protected void FileExit_Clicked(object sender, System.EventArgs e)

            {

                this.Close();

            }

     

            //Window->Cascade Menu item handler

            protected void WindowCascade_Clicked(object sender, System.EventArgs e)

            {

                this.LayoutMdi(MdiLayout.Cascade);

            }

     

            //Window->Tile Horizontally Menu item handler

            protected void WindowTileH_Clicked(object sender, System.EventArgs e)

            {

                this.LayoutMdi(MdiLayout.TileHorizontal);

            }

     

            //Window->Tile Vertically Menu item handler

            protected void WindowTileV_Clicked(object sender, System.EventArgs e)

            {

                this.LayoutMdi(MdiLayout.TileVertical);

            }

            #endregion {MENU_CLICK_MESSAGE_HANDLE}

     

    3.  创建子窗体,如:

            //Add a new child window if it doesnt exist; else set focus on it

            private void AddMDIChild()

            {

                // MyChildForm is the one I'm looking for

                MDIChild myMDIChild = null;

                foreach(Form f in this.MdiChildren)

                {

                    if(f is MDIChild)

                    {

                        // found it

                        myMDIChild = (MDIChild) f;

                        break;

                    }

                }

     

                if( myMDIChild != null)

                {

                    myMDIChild.Show();

                    myMDIChild.Focus();

                }

                else

                {

                    myMDIChild = new MDIChild();

                    myMDIChild.MdiParent = this;

                    myMDIChild.Show();

                    myMDIChild.Focus();

                }

            }

     

    当完成上面的步骤后,主窗体运行的效果如下图所示:

     

           然后在子窗体中,具体操作如下:

    1.  在子窗体构造函数中,添加如下代码,同样要在InitializeComponent调用之后,如:

                //Add File Menu

                MenuItem miFile = mnuChildMain.MenuItems.Add("&File");

                miFile.MergeType = MenuMerge.MergeItems;

                miFile.MergeOrder = 1;

     

                MenuItem miLoadDoc = miFile.MenuItems.Add( "&Load Document",

                    new EventHandler(this.LoadDocument_Clicked) );

                miLoadDoc.MergeOrder = 105;

     

                //Add Formatting Menu

                MenuItem miFormat = mnuChildMain.MenuItems.Add("F&ormat");

                miFormat.MergeType = MenuMerge.Add;

                miFormat.MergeOrder = 5;

     

                //Font Face sub-menu

                miSansSerif = new MenuItem("&1." + sansSerifFontFamily.Name,

                    new EventHandler(this.FormatFont_Clicked));

                miSerif = new MenuItem("&2." + serifFontFamily.Name,

                    new EventHandler(this.FormatFont_Clicked));

                miMonoSpace = new MenuItem("&3." + monoSpaceFontFamily.Name,

                    new EventHandler(this.FormatFont_Clicked));

                miSansSerif.Checked = true ;

                miFormatFontChecked = miSansSerif ;

                miSansSerif.DefaultItem = true ;

     

                miFormat.MenuItems.Add( "Font &Face"

                    , (new MenuItem[]{ miSansSerif, miSerif, miMonoSpace })

                    );

     

                //Font Size sub-menu

                miSmall = new MenuItem("&Small", new EventHandler(this.FormatSize_Clicked));

                miMedium = new MenuItem("&Medium", new EventHandler(this.FormatSize_Clicked));

                miLarge = new MenuItem("&Large", new EventHandler(this.FormatSize_Clicked));

                miMedium.Checked = true ;

                miMedium.DefaultItem = true ;

                miFormatSizeChecked = miMedium ;

     

                miFormat.MenuItems.Add( "Font &Size"

                    , (new MenuItem[]{ miSmall, miMedium, miLarge })

                    );

     

    2.  然后为相应的Menu_Click事件定义函数,如:

            #region MENU_CLICK_MESSAGE_HANDLE

            //File->Load Document Menu item handler

            protected void LoadDocument_Clicked(object sender, System.EventArgs e)

            {

                MessageBox.Show(this.Text) ;

            }

     

            //Format->Font Menu item handler

            protected void FormatFont_Clicked(object sender, System.EventArgs e)

            {

                MenuItem miClicked = (MenuItem)sender;

                miClicked.Checked = true;

                miFormatFontChecked.Checked = false;

                miFormatFontChecked = miClicked ;

     

                if (miClicked == miSansSerif)

                {

                    currentFontFamily = sansSerifFontFamily ;

                }

                else if (miClicked == miSerif)

                {

                    currentFontFamily = serifFontFamily ;

                }

                else

                {

                    currentFontFamily = monoSpaceFontFamily ;

                }

     

                rtbDoc.Font = new Font(currentFontFamily, fontSize);

            }

     

            //Format->Size Menu item handler

            protected void FormatSize_Clicked(object sender, System.EventArgs e)

            {

                MenuItem miClicked = (MenuItem)sender;

                miClicked.Checked = true;

                miFormatSizeChecked.Checked = false;

                miFormatSizeChecked = miClicked;

     

                if (miClicked == miSmall)

                {

                    fontSize = FontSizes.Small ;

                }

                else if (miClicked == miLarge)

                {

                    fontSize = FontSizes.Large ;

                }

                else

                {

                    fontSize = FontSizes.Medium ;

                }

     

                rtbDoc.Font = new Font(currentFontFamily, fontSize);

            }

            #endregion {MENU_CLICK_MESSAGE_HANDLE}

     

    3.  窗体的私有成员:

            private struct FontSizes

            {

                public static float Small = 8f;

                public static float Medium = 12f;

                public static float Large = 24f;

            }

     

            private float fontSize = FontSizes.Medium;

     

            private MenuItem miFormatFontChecked;

            private MenuItem miFormatSizeChecked;

     

            private MenuItem miSmall ;

            private MenuItem miMedium ;

            private MenuItem miLarge ;

     

            private MenuItem miSansSerif ;

            private MenuItem miSerif ;

            private MenuItem miMonoSpace ;

     

            private FontFamily currentFontFamily ;

            private FontFamily monoSpaceFontFamily;

            private FontFamily sansSerifFontFamily;

            private System.Windows.Forms.MainMenu mnuChildMain;

            private FontFamily serifFontFamily;

     

           这样,子窗体的代码也完成了,展现的效果如下图所示:

     

    其实在做MDI子窗体上的菜单要和主窗体上的菜单合并,主要是设置每个菜单的MergeOrder,对于每个菜单的MergeOrder设置不同的值,从而达到合并后的效果。以下用表格说明:

    主窗体MergeOrder

    子窗体MergeOrder

    File(1)

    Window(10)

    File(1)

    Format(5)

    AddDocument( 100)

     

    Load Document(105)

     

    Exit(110)

     

     

     

                         注:红色表示每个菜单的MergeOrder

    合并后的效果如下:

    合并后的菜单

    File(1)

    Format(5)

    Window(10)

    AddDocument( 100)

     

     

    Load Document(105)

     

     

    Exit(110)

     

     

                         注:红色表示每个菜单的MergeOrder

     

    所以如果想在MDI子窗体上的菜单和主窗体上的菜单合并后,达到所预期的效果,就必须好好涉及它们之间的MergeOrder,大致如下:

    1.             如果和主窗体原有的菜单列进行合并,首先把根菜单的MergeOrder设置与主窗体相应菜单一样的MergeOrder值,同时设置MenuItemMergeTypeMenuMerge.MergeItems,合并后在此列菜单中的位置,就看每个菜单的MergeOrder了。

    2.             如果想在主窗体添加新的菜单列,MenuItemMergeTypeMenuMerge. Add,菜单列插入的位置,要看其MergeOrder了。


    展开全文
  • 这里只讲在MDI中,菜单与父菜单合并的简单方法。... 在主窗体构造函数中,添加如下代码,注意要在InitializeComponent调用之后,如: //Add File Menu MenuItem miFile = mnuMain.MenuItems.Add("&File"); 
     这里只讲在MDI中,子菜单与父菜单合并的简单方法。
    

     

    首先在MDI的主窗体中:

    1.  在主窗体构造函数中,添加如下代码,注意要在InitializeComponent调用之后,如:

                //Add File Menu

                MenuItem miFile = mnuMain.MenuItems.Add("&File");

                miFile.MergeOrder=1;

                miFile.MergeType = MenuMerge.MergeItems;

     

                MenuItem miAddDoc = new MenuItem( "&Add Document",

                    new EventHandler(this.FileAdd_Clicked),

                    Shortcut.CtrlA );

                miAddDoc.MergeOrder=100;

     

                MenuItem miExit = new MenuItem( "E&xit",

                    new EventHandler(this.FileExit_Clicked),

                    Shortcut.CtrlX );

                miExit.MergeOrder=110;

     

                miFile.MenuItems.Add(miAddDoc);

                miFile.MenuItems.Add("-");     // Give a seperator

                miFile.MenuItems.Add(miExit);

     

                //Add Window Menu

                MenuItem miWindow = mnuMain.MenuItems.Add("&Window");

                miWindow.MergeOrder = 10;

                miWindow.MenuItems.Add( "&Cascade",

                    new EventHandler(this.WindowCascade_Clicked));

                miWindow.MenuItems.Add( "Tile &Horizontal",

                    new EventHandler(this.WindowTileH_Clicked));

                miWindow.MenuItems.Add( "Tile &Vertical",

                    new EventHandler(this.WindowTileV_Clicked));

                miWindow.MdiList = true ; //Adds the MDI Window List to the bottom of the menu

     

    2.  然后为相应的Menu_Click事件定义函数,如:

            #region MENU_CLICK_MESSAGE_HANDLE

            //File->Add Menu item handler

            protected void FileAdd_Clicked(object sender, System.EventArgs e)

            {

                AddMDIChild() ; //Create new MDI child window

            }

     

            //File->Exit Menu item handler

            protected void FileExit_Clicked(object sender, System.EventArgs e)

            {

                this.Close();

            }

     

            //Window->Cascade Menu item handler

            protected void WindowCascade_Clicked(object sender, System.EventArgs e)

            {

                this.LayoutMdi(MdiLayout.Cascade);

            }

     

            //Window->Tile Horizontally Menu item handler

            protected void WindowTileH_Clicked(object sender, System.EventArgs e)

            {

                this.LayoutMdi(MdiLayout.TileHorizontal);

            }

     

            //Window->Tile Vertically Menu item handler

            protected void WindowTileV_Clicked(object sender, System.EventArgs e)

            {

                this.LayoutMdi(MdiLayout.TileVertical);

            }

            #endregion {MENU_CLICK_MESSAGE_HANDLE}

     

    3.  创建子窗体,如:

            //Add a new child window if it doesnt exist; else set focus on it

            private void AddMDIChild()

            {

                // MyChildForm is the one I'm looking for

                MDIChild myMDIChild = null;

                foreach(Form f in this.MdiChildren)

                {

                    if(f is MDIChild)

                    {

                        // found it

                        myMDIChild = (MDIChild) f;

                        break;

                    }

                }

     

                if( myMDIChild != null)

                {

                    myMDIChild.Show();

                    myMDIChild.Focus();

                }

                else

                {

                    myMDIChild = new MDIChild();

                    myMDIChild.MdiParent = this;

                    myMDIChild.Show();

                    myMDIChild.Focus();

                }

            }

     

    当完成上面的步骤后,主窗体运行的效果如下图所示:

     

           然后在子窗体中,具体操作如下:

    1.  在子窗体构造函数中,添加如下代码,同样要在InitializeComponent调用之后,如:

                //Add File Menu

                MenuItem miFile = mnuChildMain.MenuItems.Add("&File");

                miFile.MergeType = MenuMerge.MergeItems;

                miFile.MergeOrder = 1;

     

                MenuItem miLoadDoc = miFile.MenuItems.Add( "&Load Document",

                    new EventHandler(this.LoadDocument_Clicked) );

                miLoadDoc.MergeOrder = 105;

     

                //Add Formatting Menu

                MenuItem miFormat = mnuChildMain.MenuItems.Add("F&ormat");

                miFormat.MergeType = MenuMerge.Add;

                miFormat.MergeOrder = 5;

     

                //Font Face sub-menu

                miSansSerif = new MenuItem("&1." + sansSerifFontFamily.Name,

                    new EventHandler(this.FormatFont_Clicked));

                miSerif = new MenuItem("&2." + serifFontFamily.Name,

                    new EventHandler(this.FormatFont_Clicked));

                miMonoSpace = new MenuItem("&3." + monoSpaceFontFamily.Name,

                    new EventHandler(this.FormatFont_Clicked));

                miSansSerif.Checked = true ;

                miFormatFontChecked = miSansSerif ;

                miSansSerif.DefaultItem = true ;

     

                miFormat.MenuItems.Add( "Font &Face"

                    , (new MenuItem[]{ miSansSerif, miSerif, miMonoSpace })

                    );

     

                //Font Size sub-menu

                miSmall = new MenuItem("&Small", new EventHandler(this.FormatSize_Clicked));

                miMedium = new MenuItem("&Medium", new EventHandler(this.FormatSize_Clicked));

                miLarge = new MenuItem("&Large", new EventHandler(this.FormatSize_Clicked));

                miMedium.Checked = true ;

                miMedium.DefaultItem = true ;

                miFormatSizeChecked = miMedium ;

     

                miFormat.MenuItems.Add( "Font &Size"

                    , (new MenuItem[]{ miSmall, miMedium, miLarge })

                    );

     

    2.  然后为相应的Menu_Click事件定义函数,如:

            #region MENU_CLICK_MESSAGE_HANDLE

            //File->Load Document Menu item handler

            protected void LoadDocument_Clicked(object sender, System.EventArgs e)

            {

                MessageBox.Show(this.Text) ;

            }

     

            //Format->Font Menu item handler

            protected void FormatFont_Clicked(object sender, System.EventArgs e)

            {

                MenuItem miClicked = (MenuItem)sender;

                miClicked.Checked = true;

                miFormatFontChecked.Checked = false;

                miFormatFontChecked = miClicked ;

     

                if (miClicked == miSansSerif)

                {

                    currentFontFamily = sansSerifFontFamily ;

                }

                else if (miClicked == miSerif)

                {

                    currentFontFamily = serifFontFamily ;

                }

                else

                {

                    currentFontFamily = monoSpaceFontFamily ;

                }

     

                rtbDoc.Font = new Font(currentFontFamily, fontSize);

            }

     

            //Format->Size Menu item handler

            protected void FormatSize_Clicked(object sender, System.EventArgs e)

            {

                MenuItem miClicked = (MenuItem)sender;

                miClicked.Checked = true;

                miFormatSizeChecked.Checked = false;

                miFormatSizeChecked = miClicked;

     

                if (miClicked == miSmall)

                {

                    fontSize = FontSizes.Small ;

                }

                else if (miClicked == miLarge)

                {

                    fontSize = FontSizes.Large ;

                }

                else

                {

                    fontSize = FontSizes.Medium ;

                }

     

                rtbDoc.Font = new Font(currentFontFamily, fontSize);

            }

            #endregion {MENU_CLICK_MESSAGE_HANDLE}

     

    3.  窗体的私有成员:

            private struct FontSizes

            {

                public static float Small = 8f;

                public static float Medium = 12f;

                public static float Large = 24f;

            }

     

            private float fontSize = FontSizes.Medium;

     

            private MenuItem miFormatFontChecked;

            private MenuItem miFormatSizeChecked;

     

            private MenuItem miSmall ;

            private MenuItem miMedium ;

            private MenuItem miLarge ;

     

            private MenuItem miSansSerif ;

            private MenuItem miSerif ;

            private MenuItem miMonoSpace ;

     

            private FontFamily currentFontFamily ;

            private FontFamily monoSpaceFontFamily;

            private FontFamily sansSerifFontFamily;

            private System.Windows.Forms.MainMenu mnuChildMain;

            private FontFamily serifFontFamily;

     

           这样,子窗体的代码也完成了,展现的效果如下图所示:

     

    其实在做MDI子窗体上的菜单要和主窗体上的菜单合并,主要是设置每个菜单的MergeOrder,对于每个菜单的MergeOrder设置不同的值,从而达到合并后的效果。以下用表格说明:

    主窗体MergeOrder

    子窗体MergeOrder

    File(1)

    Window(10)

    File(1)

    Format(5)

    AddDocument( 100)

     

    Load Document(105)

     

    Exit(110)

     

     

     

                         注:红色表示每个菜单的MergeOrder

    合并后的效果如下:

    合并后的菜单

    File(1)

    Format(5)

    Window(10)

    AddDocument( 100)

     

     

    Load Document(105)

     

     

    Exit(110)

     

     

                         注:红色表示每个菜单的MergeOrder

     

    所以如果想在MDI子窗体上的菜单和主窗体上的菜单合并后,达到所预期的效果,就必须好好涉及它们之间的MergeOrder,大致如下:

    1.             如果和主窗体原有的菜单列进行合并,首先把根菜单的MergeOrder设置与主窗体相应菜单一样的MergeOrder值,同时设置MenuItemMergeTypeMenuMerge.MergeItems,合并后在此列菜单中的位置,就看每个菜单的MergeOrder了。

    2.             如果想在主窗体添加新的菜单列,MenuItemMergeTypeMenuMerge. Add,菜单列插入的位置,要看其MergeOrder了。

    展开全文
  • 做机房收费系统界面用的是一个多文档...还有一种方法就是另外增加一个子窗体来显示让图片框的内容。但是考虑到用户,个人觉得还是一个窗体操作起来更直观,方便。 为了可以让我的那些子窗体在父窗体中显示,se

    做机房收费系统主界面用的是一个多文档窗体。主界面如下:

     

    做好菜单栏后,发现多文档界面不允许添加标签和文本框之类的控件,只能够借助于picture box 作为载体来添加。但是这样那些子窗体显示的时候就会被图片框给覆盖。还有一种方法就是另外在增加一个子窗体来显示让图片框上的内容。但是考虑到用户,个人觉得还是一个窗体操作起来更直观,方便。

    为了可以让我的那些子窗体在父窗体中显示,setparent 函数被找到了。
    setparent
         声明方法:   
    Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long  
     
        函数功能:
    该函数改变某个子窗口的父窗口。
       
        函数原型:HWND SetParent(HWND hWndChild,HWND hWndNewParent)。

       参数解释:第一个参数 hwndchild 是子窗体句柄,第二个参数 hwndnewparent  是父窗口句柄。

       具体使用:在模块中声明setparent函数。然后在要成为子窗体的窗体加载事件中写入:
    Call SetParent(Me.hwnd, frmmain.Picmain.hwnd)
    Me.WindowState = 2

     

    这样子窗体就可以在父窗体中显示出来了。可能有的人的的子窗体显示出来了,可是使用不了,也就是说无法获得焦点。这个时候就要注意了。看看你的子窗体的MDIchild 属性是不是为false 。 不是的话改为默认的false,然后再试。

     

    再看setparent 函数

    这个函数其实是很有意思的。首先看名字:set——parent 。用编程语言字面理解应该是  安排——容器。具体点就是给一个窗体安排放置它的容器。所以A ,B 窗体之前是没有从属关系的。我们要想让A窗体放置到B窗体中无需先让A 成为B 子窗体。我们只需要使用上边的两行代码就可以了。


    其次是参数:hwndchild  和hwndnewparent 不光指的是窗体,也可以是控件。当然这个hWndNewParent应该是一个容器控件。不知道大家有没有发现在这个例子中:我的父窗口句柄用的是:
    frmmain.Picmain.hwnd。其实这是一个容器控件picturebox 的句柄。在这个系统中,我需要的就是把我的子窗体放到父窗体的的图片框中显示,所以父窗口句柄是:frmmain.picmain.hwnd。

    再次看setparent 函数就有了这个额为的发现:给控件设置容器控件;

                                                                              给空间设置窗体;

                                                                              给窗体设置父窗体;

                                                                              还可以把窗体放到容器控件中。
    怎么样?是不是发现这个setparent 函数的功能很多呢?

    有一次感悟学习就是个“反复的过程。”一下子是不可能学会的。
    展开全文
  • 敲机房收费系统的时候遇到了一点小麻烦,就是MDI主窗体上添加容器控件picture后,导致MDI子窗体无法显示。其实不是无法显示,只是被picture控件挡住了,不明其所以然。  通过查资料终于明白了其中的原因:...

        在敲机房收费系统的时候遇到了一点小麻烦,就是在MDI主窗体上添加容器控件picture后,导致MDI子窗体无法显示。其实不是无法显示,只是被picture控件挡住了,不明其所以然。

        通过查资料终于明白了其中的原因:在MDI窗体中,子窗体实际上位于MDIClient里,即子窗体的父窗体就是MDIClient,而防止在MDI中的picture控件和MDIClient是同一级别的,由于层次结构,所以无法使子窗体显示在picture控件的上面。

         如果想要实现这个功能,只能破坏Form的消息循环,可以使用如下函数:Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

    该函数功能:该函数改变某个子窗口的父窗口。

    返回值:如果函数成功,返回值为子窗口的原父窗口句柄;如果函数失败,返回值为NULL。

    在事件中添加如下代码就可以了:

    SetParent Form1.hWnd, MDIForm1.hWnd

    展开全文
  • 1.其实实现主窗体的刷新无非就是比较简单的调用load事件重新加载数据绑定,但是这样的效果会带来,无状态刷新,页面无法保存一次的页面状态,比如 刷新前 刷新后 ,如果点击刷新按钮执行的话,那么树形菜单...
  • C#如何关闭或者关闭指定的窗体画面(这些窗体全部由动态的形式添加) 1.要求: 在主窗口上面动态创建N个按钮,每点击其中一个按钮,创建窗口(画面可以同时存在) 2.我的思路: 系统一启动,用for语句...
  •  那是因为只有具有Align或者是不可见的控件(如timer)才可以直接放到mdi的主窗体上。因为mdi是其它子窗体的容器。如果能放置按钮的话,那么显示子窗体的时候按钮将会被盖住。可以先mdi上放置一个具有Align属性的...
  • 按完第一个按钮,在主窗口的panel1显示第一个子窗口(Win1)的内容,效果如图二;图三是第一个子窗口(Win1) 下面是各个用的程序,一共五个,我这只写了Win1 的,其他的类似 ``` Win1 w1; w1 = new Win1()...
  • 目的:点一个按钮,窗口嵌在主窗口(panel)在主窗口选完combobox的值后,按查询按钮,窗口根据combobox的值选择数据使chart出图,然后改变combobox的值,窗口chart所连接的数据发生改变,图发生改变 ...
  • 问题1:在主窗体上需要动态添加N个按钮 问题2:点击主画面上的按钮创建,显示对应的子窗体(例如:点击按钮B,显示子窗体B) 问题3:对应子窗体的打开着的时候,再点击该按钮先关掉原来的子画面,再创建 用句柄...
  • 目的:点一个按钮,窗口嵌在主窗口(panel)在主窗口选完combobox的值后,按查询按钮,窗口根据combobox的值选择数据使chart出图,然后改变combobox的值,窗口chart所连接的数据发生改变,图发生改变 ...
  • 按完第一个按钮,在主窗口的panel1显示第一个子窗口(Win1)的内容,效果如图二;图三是第一个子窗口(Win1) 下面是各个用的程序,一共五个,我这只写了Win1 的,其他的类似 ``` Win1 w1; w1 = new Win1...
  • 设计c# devexpress winform 窗体时, 要建立起dock意识, dock就是子窗体如何窗体上, 有fill 全覆盖, buttom 底部,top 上部... 如下图 panelcontorl 添加usercontrol 时 usercontrol 需要添加dock属性,...
  • picwin.zip 给任意窗口添加背景(2KB)<END><br>81,DynCon.zip 动态改变对话框的大小, 对话框中的控件相应改变(166KB)<END><br>82,tabstatus.zip 多文档应用程序的状态条中加入窗口的列表, 使程序的状态...
  • 很多人都苦恼于如何在子窗体中操作主窗体上的控件,或者在主窗体中操作子窗体上的控件。我前一阵做了个winform程序,要在其他窗口关闭的时候主窗口listview显示最新记录,研究了好几天,最后发现一个好的方式: 在主...
  • 125.如何在操作系统任务栏上添加托盘菜单 126.如何触发操作系统的“开始”菜单 127.如何隐藏IE浏览器的右键菜单组 第4章 工具栏和状态栏 128.如何获取工具栏中的图标资源 129.如何在工具栏上设置背景图像 130.如何...
  • 如何在操作系统任务栏上添加托盘菜单  126.如何触发操作系统的“开始”菜单  127.如何隐藏IE浏览器的右键菜单组  第4章工具栏和状态栏  128.如何获取工具栏中的图标资源  129.如何在工具栏上设置...
  • 一.背景 在上一篇博客介绍了使用...其实最简单的方法就是每一个子窗体上添加一个退出的按钮,但是由于退出按钮是各个子窗体中,对其进行点击事件编写的时候,涉及到操作主窗体的tabControl的问题——即如...
  • delphi 开发经验技巧宝典源码

    热门讨论 2010-08-12 16:47:23
    0255 在窗体标题栏上添加按钮 171 0256 取消窗体标题栏的关闭按钮 172 0257 如何实现闪动的标题栏文字 172 0258 怎样动态修改窗体图标 172 8.2 窗体的动态显示 173 0259 如何实现QQ窗体 173 0260 实现...
  • 0255 在窗体标题栏上添加按钮 171 0256 取消窗体标题栏的关闭按钮 172 0257 如何实现闪动的标题栏文字 172 0258 怎样动态修改窗体图标 172 8.2 窗体的动态显示 173 0259 如何实现QQ窗体 173 0260 实现...
  • 0255 在窗体标题栏上添加按钮 171 0256 取消窗体标题栏的关闭按钮 172 0257 如何实现闪动的标题栏文字 172 0258 怎样动态修改窗体图标 172 8.2 窗体的动态显示 173 0259 如何实现QQ窗体 173 0260 实现...
  • 0255 在窗体标题栏上添加按钮 171 0256 取消窗体标题栏的关闭按钮 172 0257 如何实现闪动的标题栏文字 172 0258 怎样动态修改窗体图标 172 8.2 窗体的动态显示 173 0259 如何实现QQ窗体 173 0260 实现...
  • 0255 在窗体标题栏上添加按钮 171 0256 取消窗体标题栏的关闭按钮 172 0257 如何实现闪动的标题栏文字 172 0258 怎样动态修改窗体图标 172 8.2 窗体的动态显示 173 0259 如何实现QQ窗体 173 0260 实现...
  • 0255 在窗体标题栏上添加按钮 171 0256 取消窗体标题栏的关闭按钮 172 0257 如何实现闪动的标题栏文字 172 0258 怎样动态修改窗体图标 172 8.2 窗体的动态显示 173 0259 如何实现QQ窗体 173 0260 实现...
  • 2. 编辑完毕后点击确定,可以关闭窗体,此时,编辑后的频道信息已经刷新在主窗体的频道列表中。 3. 要把修改的频道列表保存,则需要点击工具条的保存把频道永久的保存起来。 IV. 本文档解释权归小航工作室所有。...
  • 如何在下拉框里显示几次程序运行的输入信息 如何改变对话框DoModal的返回值 怎样弹出选择目录的对话框 第4章 一般窗口及界面设计 如何设定窗口的背景色 如何生成任意形状的窗体 如何实现无标题窗口的拖动 如何使...
  • JAVA百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 188
精华内容 75
关键字:

如何在主窗体上添加子窗体