ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 259|回复: 6

[求助] 如何修改为弹出就是个图片,而不是窗口

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-9-16 16:49 | 显示全部楼层 |阅读模式
image.jpg

大神们,这个地方应该怎么修改啊

TA的精华主题

TA的得分主题

发表于 2024-9-16 17:43 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-9-16 22:06 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-9-19 20:54 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-9-22 20:00 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
new一个From,给窗口添加背景图片,就是你想显示的图片,窗口style设置为none,自己做一个关闭按钮,show时候使用showdialog方法,就可以像MessageBox一样,具有顶级焦点。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-17 15:37 | 显示全部楼层
Enocheasty 发表于 2024-9-22 20:00
new一个From,给窗口添加背景图片,就是你想显示的图片,窗口style设置为none,自己做一个关闭按钮,show时 ...

是否可以麻烦您给做一个案例啊,谢谢

TA的精华主题

TA的得分主题

发表于 2024-10-17 16:19 | 显示全部楼层
aosiner123 发表于 2024-10-17 15:37
是否可以麻烦您给做一个案例啊,谢谢

新建一个窗口应用程序,添加一个button1,并添加下面的Click事件,后面添加一个msgBox上Ok按钮关闭事件。运行后,程序上面显示一个按钮,单击按钮提示选择一个图片文件,之后会显示我们模拟的msgBox,背景就是你选择的图片,然后上面的按钮单击窗口会关闭,就跟MessageBox一样,会返回一个OK的结果,这个窗口跟MessageBox一样,用户不选择,不操作,回不到主窗口上。

如果你还要更多按钮,更多的信息,你得自己添加了。



        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog dlg = new()
            {
                Filter = "图片文件|*.jpeg;*.jpg;*.png;*.bmp"
            };
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                Image bkImage = Image.FromFile(dlg.FileName);
                Form msgBox = new()
                {
                    FormBorderStyle = FormBorderStyle.None,
                    ClientSize = new Size(bkImage.Width, bkImage.Height),
                    BackgroundImage = bkImage,
                    StartPosition = FormStartPosition.CenterScreen,
                };
                Button okBtn = new()
                {
                    Name = "Btn_Ok",
                    Text = "确定",
                    Size = new Size(100, 30),
                };
                okBtn.Click += OkBtn_Click;
                msgBox.Controls.Add(okBtn);
                okBtn.Location = new Point(bkImage.Width / 2 - okBtn.Width / 2, bkImage.Height - okBtn.Height - 10);
                if (msgBox.ShowDialog() == DialogResult.OK)
                {
                    //
                }
            }
        }

        private void OkBtn_Click(object? sender, EventArgs e)
        {
            ((sender as Button)?.Parent as Form).DialogResult = DialogResult.OK;
            ((sender as Button)?.Parent as Form)?.Close();
        }


您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-21 17:10 , Processed in 0.040567 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表