| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1373 人关注过本帖
标题:显示主窗体后弹出对话框
只看楼主 加入收藏
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:12 
显示主窗体后弹出对话框
我想在显示主窗体后弹出一个对话框怎么实现呢?
主窗体只加载图片并显示出来后弹出一个对话框,然后在关闭了对话框后继续加载主窗体中的按钮,就是这样的效果。
谁有什么好办法吗?并且在弹出提示框后不能对主窗体进行操作,主窗体的加载在弹出对话框后就暂停,直到对话框关闭后才继续加载。
我把from2.ShowDialog(); 放到加载窗体的中间不行,放到InitializeComponent();后面也不行。总是先弹出对话框,在关闭对话框后才弹出主窗体。
搜索更多相关主题的帖子: 对话框 图片 
2013-09-07 13:16
shuyuea3
Rank: 1
等 级:新手上路
帖 子:3
专家分:1
注 册:2011-6-9
收藏
得分:1 
类似登陆?
运行的时候是主窗体,显示的是登陆的,登陆的加载玩了,才显示主窗体么,你说的对话框不知道要怎么用
2013-09-08 02:22
失忆的心
Rank: 1
等 级:新手上路
帖 子:4
专家分:1
注 册:2013-9-5
收藏
得分:1 
messagebox放到InitializeComponent()后面就可以了呀,from2.ShowDialog()放在frm_load里面,如果再不行把你的那段代码放上来看看
2013-09-08 11:24
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
收藏
得分:0 
回复 3楼 失忆的心
放到后面也不行。达不到想要的效果。说简单点要的效果就是:在显示了主窗体后,在主窗体上弹出来一个登录窗体,此时主窗体只显示一个背景而不显示按钮,在关闭了登录框后主窗体才开始显示按钮。
2013-09-08 12:52
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
收藏
得分:1 
看不到你的源代码,没法子给出你正确的方法。还有一点你是想弹出一个新的Form还是只想弹出个MessageBox呢?这个是有区别的。
我觉得要是新的Form的话应该在InitializeComponent()函数里面添加,不是在这个函数的前面也不是在这个函数的后面,而是在这个函数里面
找到加载图片之后其他按钮还没有加载出来之前的位置显示你的新Form。

♂ 死后定当长眠,生前何须久睡。♀
2013-09-09 13:53
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
收藏
得分:0 
需要的效果:
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册

这是两张图片,下面是代码。

[ 本帖最后由 小赵q1 于 2013-9-9 21:18 编辑 ]
2013-09-09 21:06
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
收藏
得分:0 
我把我的代码发出来吧:
登录框代码:
    public partial class TanChuKuang : Form
    {
        public TanChuKuang()
        {
            InitializeComponent();
        }

        private void TanChuKuang_Load(object sender, EventArgs e)
        {
            Button btjin = new Button();                 //进入按钮。
            btjin.Location = new Point(133, 63);
            btjin.Size = new Size(75, 23);
            btjin.Text = "进 入";
            btjin.Click += new EventHandler(btjin_Click);
            this.Controls.Add(btjin);
        }

        //在弹出这个消息框之前先显示主窗体,但不加载主窗体中的按钮,然后显示这个消息框,点击进入关闭消息框加载主窗体按钮。
        private void btjin_Click(object sender, EventArgs e)
        {

        }
    }

主窗体代码:
    public partial class Form1 : Form
    {
        SoundPlayer spshu = new SoundPlayer("慢.wav");
        Timer tmshan = new Timer();
        PictureBox[] pbtu = new PictureBox[10];
        int ci = 0;
        int dianji = 0;
        public Form1()
        {
            TanChuKuang tan = new TanChuKuang();         //实例化弹出窗体
            InitializeComponent();
            tan.ShowDialog();              //弹出窗体
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            int tuX = 13, tuY = 73, tusizeX = 30, tusizeY = 46;     //图片控件的位置
            for (int i = 0; i < pbtu.Length; i++,tuX+=58)           //实例化图片控件
            {
                pbtu[i] = new PictureBox();
                pbtu[i].Location = new Point(tuX, tuY);
                pbtu[i].Size = new Size(tusizeX, tusizeY);
                pbtu[i].BackColor = Color.Black;
                this.Controls.Add(pbtu[i]);
            }
            Button btshan = new Button();                 //闪烁按钮。
            btshan.Location = new Point(213,176);
            btshan.Size = new Size(75,23);
            btshan.Text = "闪 烁";
            btshan.Click+=new EventHandler(btshan_Click);
            this.Controls.Add(btshan);

            tmshan.Tick+=new EventHandler(tmshan_Tick);      //定时器时间到事件。
        }

        private void btshan_Click(object sender, EventArgs e)
        {
            if (dianji == 0)
            {
                dianji = 1;
                ci = 0;
                tmshan.Interval = 500;
                tmshan.Start();
            }
        }

        private void tmshan_Tick(object sender, EventArgs e)
        {
            if (ci - 1 == -1)
                pbtu[9].Image = null;
            else if (pbtu[(ci - 1) % 10].Image != null)
                pbtu[(ci - 1) % 10].Image = null;
            pbtu[ci%10].Image = imageNumber.Images[ci%10];
            if (ci == 5)
            {
                spshu.Play();
                tmshan.Interval = 270;
            }
            else if (ci == 6)
            {
                tmshan.Interval = 290;
            }
            else if (ci == 7)
            {
                tmshan.Interval = 380;
            }
            else if (ci == 8)
            {
                tmshan.Interval = 560;
            }
            else if (ci == 9)
            {
                dianji = 0;
                tmshan.Stop();
            }
            ci++;
        }
    }
2013-09-09 21:06
Aviva_Wang
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:苏州
等 级:贵宾
威 望:26
帖 子:701
专家分:2382
注 册:2013-3-12
收藏
得分:0 
你让主窗体显示,然后按钮都在只是不显示,当关闭模态窗之后,让按钮显示.
其实,有很多效果,我们觉得很炫,其实只是显示很隐藏的问题,希望你的思路能被打开,不要拘泥于自己所学的,编程其实很需要想象力的
你先按我的方法做做看吧

asp
2013-09-10 07:57
Aviva_Wang
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:苏州
等 级:贵宾
威 望:26
帖 子:701
专家分:2382
注 册:2013-3-12
收藏
得分:4 
按钮实际存在,只是让visible  = false

asp
2013-09-10 08:09
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
收藏
得分:0 
回复 9楼 Aviva_Wang
恩,我想到隐藏再显示了,这个可以达到效果,但是要达到显示主窗体再弹出弹出框的效果实现不了。
2013-09-10 11:58
快速回复:显示主窗体后弹出对话框
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019020 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved