吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1750|回复: 10
收起左侧

[求助] 求个.NET 6下,C# WinForm支持自定义MessageBox按钮文字的方式

[复制链接]
getstr88 发表于 2022-5-26 14:16
声明:不要自己新建个Form,造的像messagebox,之前也是这么做的。

直到看到这个老哥的解决方法,真是一个赞。https://www.codeproject.com/Articles/18399/Localizing-System-MessageBox


但是,它这个不更新了,这个方法只适合.NET Framework ,在.NET 6.0下无效。我没搜到有支持.NET 6的最新实现

免费评分

参与人数 1热心值 +1 收起 理由
JonesDean + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

零下八度 发表于 2022-5-26 16:45
这东西我十几年前研究过,以前得到的成熟方案大概2种:
1、直接 hook 原来的 MessageBox 进一步处理,这种方案,改改文字或者class没啥问题,换UI样式比较难。重点在 hook 上,可自行查阅资料。调用的时候还是用原来的API,比如 MessageBox.Show(*) ,参数也是原来的。
2、自己用 Form 窗体做一个 MessageBox 的样式,然后当消息框用。这种没有啥特别难的(如果要换窗口样式,可能会涉及重绘窗体或者双缓冲处理之类的),就是比较繁琐,传参什么的,都要自己实现一遍。

PS:
值得注意的是,这两种方案实现起来,一般情况下,和 .NET Framework 与 .NET 6 并没有什么强关联的地方。
这点基本东西,系统API层次兼容,开发SDK层次,微软为了方便迁移,很多东西也没改(微软也没时间重新完整设计一套,很多东西是直接搬的), .NET Framework 的 winform 可以用的 ,.NET 6 下基本都可以。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
milaoshu1020 + 1 + 1 我很赞同!

查看全部评分

落红护花 发表于 2022-5-26 20:20
 楼主| getstr88 发表于 2022-5-26 20:55
零下八度 发表于 2022-5-26 16:45
这东西我十几年前研究过,以前得到的成熟方案大概2种:
1、直接 hook 原来的 MessageBox 进一步处理,这种 ...

只是兄弟,你这个等于没有回复。你说的信息,我提问中都说过了的

你的第一个方案就是我贴的老外做好的那个,不适合.net6
我的红字就是你的方案2
 楼主| getstr88 发表于 2022-5-26 20:58
落红护花 发表于 2022-5-26 20:20
.net 6弄好了再回到framework又不行了.....

不兼容,所以就是各搞一套。我贴的老外那个适合framework

目前就是求.net6 方案
 楼主| getstr88 发表于 2022-5-27 08:37
继续蹲下解决办法,另外,像原来我贴的老外的那个写法,关于用哪些DLL能做什么,微软在什么网页上有介绍说明文档啊,如果没有现成的,只能自己试着写了
 楼主| getstr88 发表于 2022-5-28 00:33
大家都研究过.net6下解决方案么?总不会都是自己画form这样绕过问题的妥协办法把
 楼主| getstr88 发表于 2022-6-2 21:34
还是继续求下,想尝试类似老外那个做法,没找到应该对应hook 什么dll
 楼主| getstr88 发表于 2022-6-11 17:11
还是找不到。nuget上很多for WPF的messagebox,WPF默认都没有提供MessageBox么?我没用过WPF,只用过winform
wtuqi 发表于 2022-6-11 17:28
用API吧,API调用不存net版本区别,终极点的话,不妨用framework写一个dll给net6调用
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 12:22

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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