精华内容
下载资源
问答
  • C#窗体动态添加用户控件,想要实现鼠标离开用户控件所在区域删除用户控件,这里我用的是MouseLeave,但是运行时,鼠标不论里没离开控件,都触发了用户控件的MouseLeave事件,这是为什么? 该用户控件为组合控件,...
  • 本文主要介绍:在MFC创建的停靠窗口中添加一些控件,浮动窗口中可以添加...二、窗口添加控件 ObjectWnd.h文件: #pragma once #include "afxdockablepane.h" #include "ObjectDlg.h" #include "afxwin.h" class CO

    本文主要介绍:在MFC创建的停靠窗口中添加一些控件,浮动窗口中可以添加MFC自身的控件,也可以添加对话框。
    一、创建对话框
    对话框属性做以下修改:
    这里写图片描述
    二、窗口中添加控件
    ObjectWnd.h文件:

    #pragma once
    #include "afxdockablepane.h"
    #include "ObjectDlg.h"
    #include "afxwin.h"
    
    class CObjectWnd :
        public CDockablePane
    {
    public:
        CObjectWnd(void);
        ~CObjectWnd(void);
        DECLARE_MESSAGE_MAP()
        afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
        afx_msg void OnSize(UINT nType, int cx, int cy);
        afx_msg void OnDestroy();
    
    
        CEdit m_edit;
        CStatic m_static;
        CObjectDlg m_objectDlg; //对话框类
    
        void AdjustLayout();
    
    };

    ObjectWnd.cpp文件:

    #include "stdafx.h"
    #include "ObjectWnd.h"
    #include "resource.h"
    
    CObjectWnd::CObjectWnd(void)
    {
    }
    
    
    CObjectWnd::~CObjectWnd(void)
    {
    }
    
    BEGIN_MESSAGE_MAP(CObjectWnd, CDockablePane)
        ON_WM_CREATE()
        ON_WM_SIZE()
        ON_WM_DESTROY()
    END_MESSAGE_MAP()
    
    
    void CObjectWnd::AdjustLayout()
    {
        if (GetSafeHwnd () == NULL || (AfxGetMainWnd() != NULL && AfxGetMainWnd()->IsIconic()))
        {
            return;
        }
        CRect rectClient;
        GetClientRect(rectClient);
    
        int height = rectClient.Height()/3;
        //控件在窗口中所占空间大小
        m_edit.SetWindowPos(this,rectClient.left,rectClient.top,rectClient.Width(),rectClient.Height()/3,SWP_NOACTIVATE | SWP_NOZORDER);
        m_static.SetWindowPos(this,rectClient.left,rectClient.top+height,rectClient.Width(),rectClient.Height()/3,SWP_NOACTIVATE | SWP_NOZORDER);
        m_objectDlg.SetWindowPos(this,rectClient.left,rectClient.top+height*2,rectClient.Width(),rectClient.Height()/3,SWP_NOACTIVATE | SWP_NOZORDER);
    
    }
    
    int CObjectWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {
        if (CDockablePane::OnCreate(lpCreateStruct) == -1)
            return -1;
    
    
        CRect rectDummy;
        rectDummy.SetRectEmpty();
    
        // 创建组合:
        const DWORD dwViewStyle = WS_CHILD | WS_VISIBLE | CBS_DROPDOWNLIST | WS_BORDER | CBS_SORT | WS_CLIPSIBLINGS | WS_CLIPCHILDREN;
    
        if (!m_edit.Create(dwViewStyle, rectDummy, this, 1))
        {
            TRACE0("未能创建CEdit控件 \n");
            return -1;      // 未能创建
        }
    
    
        if(!m_static.Create(NULL,dwViewStyle,rectDummy,this,6))
        {
            TRACE0("未能创建CStatic控件\n");
            return -1; // 未能创建
        }
    
        // 创建对话框窗口:
        if (!m_objectDlg.Create(IDD_ObjectDlg,this))
        {
            TRACE0("未能创建对话框窗口\n");
            return -1;      // 未能创建
        }
        m_objectDlg.ShowWindow(SW_SHOW);
        AdjustLayout();
    
        //m_edit.SetWindowText(_T("CEdit控件"));
        //m_static.SetWindowText(_T("CStatic控件"));
    
        return 0;
    }
    
    
    void CObjectWnd::OnSize(UINT nType, int cx, int cy)
    {
        CDockablePane::OnSize(nType, cx, cy);
    
        AdjustLayout();
    }
    
    
    void CObjectWnd::OnDestroy()
    {
        CDockablePane::OnDestroy();
        m_objectDlg.DestroyWindow();
        // TODO: 在此处添加消息处理程序代码
    }
    

    三、添加完成,运行如下:

    这里写图片描述

    展开全文
  • 在windows窗体添加窗体控件 然后在源代码视图中编辑如下代码 using System; using System.Windows.Forms; namespace TestInterface { public partial class TestInterface : Form //定义TestInterface类 { ...
    在windows窗体中添加窗体控件
    然后在源代码视图中编辑如下代码
    using System;
    using System.Windows.Forms;
    namespace TestInterface
    {
        public partial class TestInterface : Form //定义TestInterface类
        {
            interface IStudent    //声明接口IStudent
            {
                string Answer();
            }
            class Student : IStudent  //定义类Student,以实现接口IStudent所声明的Answer方法
            {
                public int no;
                public string name;
                public string Answer()
                {
                    string result = "该学生信息如下:";
                    result += "\n学号:" + no;
                    result += "\n姓名:" + name;
                    return result;
                }
            }
    private void btnOk_Click(object sender, EventArgs e)
    //定义btnOK按钮的Click事件
            {
                Student a = new Student();    
                //用Student类定义变量a,并初始化
                a.no = Convert.ToInt32(txtStuID.Text);
                a.name = txtName.Text;
                lblShow.Text = a.Answer();
            }
        }
    }


    展开全文
  • tabControl控件填充窗体并且可以关闭
  • C# Windows窗体的TreeView控件的动态添加数据库字段 页面加载的方法代码: private void frmDepManager_Load(object sender, EventArgs e) { treeView1.ImageList = imageList1;//设置ImageList属性 t...

           C# Windows窗体的TreeView控件的动态添加数据库字段

     页面加载的方法代码:

    private void frmDepManager_Load(object sender, EventArgs e)
            {
                treeView1.ImageList = imageList1;//设置ImageList属性
                treeView1.ImageIndex = 0;//设置ImageList索引
                treeView1.SelectedImageIndex = 0;//设置选中节点后显示的ImageList索引
                tn = treeView1.Nodes.Add("所有部门");//添加节点信息
                SqlConnection conn = DBConnection.MyConnection();//创建数据库连接对象
                conn.Open();//打开数据库连接
                SqlCommand cmd = new SqlCommand("select * from tb_department", conn);//创建数据库命令对象,读取的是数据库中的所有部门名称的sql语句
                SqlDataReader sdr = cmd.ExecuteReader();//得到数据读取器
                while (sdr.Read())//读取数据
                {
                    tn.Nodes.Add(sdr["DepName"].ToString());//添加节点
                }
                sdr.Close();//关闭数据读取器
                conn.Close();//关闭数据库连接
                treeView1.ExpandAll();//展开所有节点
                treeView1.SelectedNode = treeView1.Nodes[0];//设置窗体加载时,treeview控件的父节点被选中
            }

    DBConnection.cs代码:

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data.SqlClient;//引用SQL命名空间
    namespace PMS.PMSClass
    {
        class DBConnection//定义类型
        {
            /// <summary>
            /// 返回数据库连接的静态方法
            /// </summary>
            /// <returns>方法返回数据库连接对象</returns>
            public static SqlConnection MyConnection()
            {
                return new SqlConnection(//创建数据库连接对象
    @"server=192.168.2.121;database=db_PMS;User Id=users;pwd=haizheng2018");//数据库连接字符串server=192.168.2.121;database=db_PMS;User Id=users;pwd=haizheng2018;
            }
        }
    }
    

     

    展开全文
  • 操作程序窗体的controls属性实现动态添加和删除程序窗体中的控件
  • 最近做到上下机,找不到控制上机的窗体,后来突然发现上机的窗体就是窗体加载时显示在首页的窗体啊,但这些控件貌似是放在MDI主窗体上的。但是——小编惊讶的发现,放不上去! 二、解决方法 1、使用PictureBox ...

     

    一、问题描述

    最近做到上下机,找不到控制上机的窗体,后来突然发现上机的窗体就是窗体加载时显示在首页的窗体啊,但这些控件貌似是放在MDI主窗体上的。但是——小编惊讶的发现,放不上去!

     

    二、解决方法

    1、使用PictureBox

    后来发现只有PictureBox控件可以放在主窗体,恰好可以在PictureBox上放控件,但是一运行,小编又惊讶的发现其他的子窗体不见了!后来发现,原来是子窗体跑到了PictureBox的后面,被挡住了!此时可以用API函数来解决这个问题:

    第一步:

    外接程序——外接程序管理器

    第二步:

    找到API函数,选择“在启动中加载”与“加载/卸载”

    第三步:

    选中系统的模块Module1——外接程序——API浏览器——加载文本文件——WIN32API.TXT——打开

    第四步:

    搜索SetParent——添加——插入

    第五步:

    可以看到Module1中出现了这句代码:Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

    第六步:

    此时在MDI窗体里在对应的子窗体中写如下代码:运行一下,就会惊喜的发现成功了!

    Private Sub About_Click()
        SetParent FrmAbout.hwnd, Frmmain.hwnd
        FrmAbout.Show
    End Sub

     

    2.另建一个子窗体

    然后突然想到我的学生信息管理系统,当时为了让学生系统每次都只能显示一个窗体,并且每次打开一个窗体后都自动关闭另一个窗体,但由于报错的原因,主窗体上必须保留一个窗体,所以让一个子窗体一直显示在主窗体的界面,以此达到想要的效果。这样虽然达到了想要的效果,但是我感觉这种方法还是一定的缺陷,欢迎有更好解决办法的小伙伴与小编交流分享!

     

    三、最后

    为学正如撑上水船,一篙不可放缓!               ——宋•朱熹

     

     

    展开全文
  • 本节书摘来自异步社区《Visual Basic 2012入门经典》一书中的第1章,第5节...1.5 在窗体添加控件 Visual Basic 2012入门经典设置窗体的初始属性后,现在通过在窗体中添加对象来创建用户界面。置于窗体中的对象被...
  • 可以在运行时以编程方式向文档中添加 Windows 窗体控件。在 Word 中,可以使用 ThisDocument 类的 Controls 属性的方法。在 Excel 中,可以使用 Sheetn 类 Controls 属性的方法。每个方法都有多个重载,使用这些重载...
  • 目录创建新项目添加控件 button按钮给控件绑定信号与槽单击Button弹出子窗口(非模态)单击Button弹出子窗口(模态) 最近可能会做一些测试工具,于是想到了带GUI界面的QT,正好是C++语言开发比较熟悉,这里就记录下学习...
  • 但在VS .NET2005中,自带的TabControl控件,其选项卡上是默认没有添加关闭Tab选项卡的按钮,故要实现类似浏览器添加关闭标签页的功能,只能通过手动写代码进行实现。 为避免今后需要再次复用时需要重新写过的麻烦,...
  • /// 添加新的page页 /// &lt;/summary&gt; /// &lt;param name="str"&gt;页标题&lt;/param&gt; /// &lt;param name="myForm"&gt;需要打开的窗体&lt;/p
  • 如何将 ActiveX 控件添加到 ATL 复合控件以编程方式在 Visual C++ 文章编号: 218442 - 查看本文应用于的产品 查看机器翻译免责声明 点击这里查看逐句中英文对照机器翻译 展开全部 |关闭
  • VC++为窗体增加TAB页和动态添加文本输入控件,这个例子中有如何添加动态TAB页的演示,还有动态添加控件的演示,这些小技巧 我觉得还是挺有用的,希望VC++新手好好学习一下哦。 项目源代码: 部分代码: ...
  • 可以在运行时以编程方式向任何打开的文档中添加 Windows 窗体控件。首先,生成一个基于所打开的文档或工作表的宿主项。然后,使用新宿主项的 Document..::.Controls 属性的方法(在 Word 中),或者使用新宿主项的 ...
  • 注意,除了本节所包含的 Windows 窗体控件之外,还可以向 Windows 窗体添加 ActiveX 控件和自定义控件。如果在这里列出的控件中没有找到需要的控件,还可以创建自己的控件。有关详细信息,请参见 Windows ...
  • C#利用tabControl控件实现多窗体嵌入及关闭 2013-02-22 0 个评论  作者:wolfxin2010 收藏 我要投稿 创建一个主窗体(Formmain)、两个副窗体(Form1,Form2);在主窗体中分别添加一个menuStrip控件...
  • 在PB里添加控件里面添加OLE控件时,当点击到第二标签或者第三标签程序直接崩溃 解决办法: 在运行里输入CMD ,进入DOS状态下,输入如下命令,可以批量注册*.DLL,*.ocx。 For %c in (c:\windows\system32\*.dll) ...
  • Windows 窗体 DataGrid 控件添加表和列

    千次阅读 2007-05-17 12:01:00
    Windows 窗体 DataGrid 控件添加表和列 =========================================================== 通过创建 DataGridTableStyle 对象,并将它们添加到 GridTableStylesCollection 对象(通过 DataGrid 控件的 ...
  • VC,webbrowser控件关闭网页窗口

    千次阅读 2010-09-15 16:26:00
    用webbrowser控件浏览网页 您查看的网页正在试图关闭窗口,是否关闭窗口
  • C# 窗体控件

    2017-05-16 20:12:48
    控件的位置相对位置 和窗体保持相对位置,可以配置在属性.Anchor=窗体位置 控件移动到边缘 .Dock=窗体位置 控件填充边缘 绝对位置按坐标+坐标或坐标+边长配置 事件 布局控件的父类 Control类属性:控制外观、...
  • winfrom中DotNetBar控件添加了TabControl选项卡![图片说明](https://img-ask.csdn.net/upload/202009/10/1599729817_299319.png) ,怎么显示出关闭按钮
  • 注意,除了本节所包含的 Windows 窗体控件之外,还可以向 Windows 窗体添加 ActiveX 控件和自定义控件。如果在这里列出的控件中没有找到需要的控件,还可以创建自己的控件。有关详细信息,请参见 Windows 窗体控件...
  • 问题一 如何添加SSTab控件

    千次阅读 热门讨论 2016-07-15 14:33:45
    在敲机房添加结账窗体的时候,遇到了这样的问题,看到机房管理原资料里面控件的时候,我就想知道(如下图)是什么东东 ,因为自己之前敲学生的时候就遇到过这样的问题,自己不知道还胡诌乱编一些控件来,以至于引起...
  • 创建用户界面时,把控件从工具箱拖放到窗体上,把它们放在应用程序运行时需要的地方,再双击该控件,添加控件的处理程序. Microsoft提供的控件和可以按合理价格购得的定制控件,为程序员提供了空前巨大的,已进行了全面...
  • 利用NGUI自带的脚本控件实现按钮点击窗口滑动出现与隐藏。 首先建立如下图的三个BUtton与三个Panel 然后在每个Button上添加UIPlayTween脚本,在Interaction中。将Panel1拖到Button1的TweenTarget上,如图。以此类推...
  • C# winform窗体中,动态添加和删除用户控件,可以添加用户控件,删除用户控件。如有需要,加VX:VPAmway,交流吧。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 67,880
精华内容 27,152
关键字:

关闭窗体可添加什么控件