天道酬勤,学无止境

如何在C#中将消息框显示为系统模式?(How to display a message box in C# as system modal?)

问题

如何在C#中将消息框显示为系统模式,类似于Visual Basic 6中的vbModal

回答1

使用C#MessageBoxIndirect包装器的高级MessageBoxing

回答2

您是在谈论消息框还是标准表格? 如果您在谈论标准格式,则vbModal最简单的.NET等效项是System.Windows.Forms.Form的ShowDialog方法。 所以,而不是旧的

myForm.Show vbModal

你用

myForm.ShowDialog();

或者

myForm.ShowDialog(myFormOwner);

就像以前的旧vbModal一样,这会在ShowDialog行中停止执行。

回答3

我认为您必须自己动手。

快速搜索打开了以下两个链接:

代码项目

蛋头咖啡馆

回答4

您还应该问自己,您是否真的要创建系统模式消息框,它被认为是不良的UI设计,这就是为什么不在.NET中可用的原因。

回答5

C#中的标准消息框是模态的(在关闭消息框之前无法访问应用程序的其余部分)。

http://msdn.microsoft.com/zh-CN/library/aa335423(VS.71).aspx

“消息框是一个模式对话框,这意味着除了模式窗体上的对象外,其他任何输入(键盘或鼠标单击)都不会发生。”

编辑:我不确定Vb6和那里的消息框。 是否使用其他类型的“模式”?

标签

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 如何停止阻止构建服务器的“ Just In Time Debugging”消息(How to stop “Just In Time Debugging” messages blocking a buildserver)
    问题 我们的buildserver(建议使用TeamCity)在完成的c ++程序上运行大量测试套件。 总体而言,测试会导致我们的程序崩溃,通常会弹出一个VisualStudio对话框,向我提供JustInTime调试崩溃的信息。 该对话框使构建服务器停止运行。 它不会挂起,而不会标记为失败。 我已经关闭了VisualStudio中的即时调试功能,但是当它关​​闭时,您仍然会收到一条消息:“无法进行JustinTime调试,您可以在选项中将其打开”。 有人知道一种确保程序中任何未处理的异常不会导致任何模式对话框的方法吗? 回答1 此MSDN文章介绍了如何在Windows服务器上禁用即时调试。 我已经在以下文章中包含了相关部分: 在服务器上安装Visual Studio之后,发生未处理的异常时的默认行为是显示“异常”对话框,该对话框需要用户干预才能启动即时调试或忽略该异常。 这对于无人值守的操作可能是不希望的。 若要将服务器配置为在发生未处理的异常(安装Visual Studio之前的默认行为)时不再显示对话框,请使用注册表编辑器删除以下注册表项: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
  • 如何显示带有两个按钮的消息框?(How can I show a message box with two buttons?)
    问题 如何显示带有两个按钮的消息框(例如: "on" , "off" )? 回答1 您可能想要执行以下操作: result = MsgBox ("Yes or No?", vbYesNo, "Yes No Example") Select Case result Case vbYes MsgBox("You chose Yes") Case vbNo MsgBox("You chose No") End Select 要添加图标: result = MsgBox ("Yes or No?", vbYesNo + vbQuestion, "Yes No Example") 其他图标选项: vbCritical or vbExclamation 回答2 对于可以应用于按钮的标签,VBScript消息框相当有限,您的选择几乎仅限于: 好的取消重试中止忽略是的不 因此,如果您想“ ON” /“ OFF”,则必须构建自己的表单 更好的是,为什么不改一下框中的提示,以便上面的选项之一起作用。 例如: Do you want the light on? [Yes] [No] 为了上帝的缘故,不要做这些UI怪兽之一! Switch setting? (Click "yes" for ON and "No" for Off) [Yes] [No] 回答3 请记住
  • 如何解决“等待调试器”消息?(How to resolve “Waiting for Debugger” message?)
    问题 我已经用SDK 2.2将HTC Comet连接到Eclipse。 我进行调试构建-应用程序无法运行; 尽管它确实已安装在设备上。 在设备上,我在“彗星”屏幕上看到此消息框 等待调试器应用程序HunyDew(进程com.airvine.hunydew)正在等待调试器附加。 [强制关闭] 而在Eclipse控制台中,我得到了这些消息集 [2010-12-07 01:42:29 - hunydewprj] Android Launch! [2010-12-07 01:42:29 - hunydewprj] adb is running normally. [2010-12-07 01:42:29 - hunydewprj] Performing com.airvine.hunydew.HunyDewAAStartsHere activity launch [2010-12-07 01:42:47 - hunydewprj] Application already deployed. No need to reinstall. [2010-12-07 01:42:47 - hunydewprj] Starting activity com.airvine.hunydew.HunyDewAAStartsHere on device 308730C861BC [2010-12-07 01
  • MobaXterm文档手册
    MobaXterm文档 1.一般 1.1。介绍 1.2。届会 1.3。多表环境 1.4。X11服务器 1.5。类Unix终端 1.6。内置图形工具 MobaXterm界面 2.1。不同的整合模式 标签界面 分割模式 分离标签功能 服务 SSH隧道(端口转发) 全局设置 会议经理 2.2。本地终端功能 打开命令 cygpath命令 /驱动器安装路径 / registry虚拟文件夹 //挂载点 执行本机Windows程序 其他有用的命令 2.3。网络实用程序 远端运算 显示设置 文件传输 网络监控 2.4。其他实用程序 编者 各种各样的 外挂程式 MobApt软件包管理器 3.全局设置 3.1。“常规”标签设置 永久主目录 默认文本编辑器程序 Windows文件夹上的右键单击菜单 MobaXterm密码管理 MobaXterm键盘快捷键 管理我的共享会话 永久根(/)目录 3.2。“端子”选项卡设置 定制 字形 字符集 显示分隔线 使用Windows PATH环境 右键单击粘贴 退格键发送^ H 在航站楼出口显示确认 显示滚动条 跟踪终端活动 粘贴多行之前警告 将终端输出记录到以下目录 自定义语法突出显示定义 3.3。“ X11”标签设置 引擎 键盘 Unix兼容键盘 在MobaXterm启动时自动启动X服务器 在监视器上运行 显示偏移 剪贴板 Xorg版本 OpenGL加速
  • 显示Windows批处理文件中的弹出窗口/消息框(Show a popup/message box from a Windows batch file)
    问题 有没有一种方法可以显示批处理文件中的消息框(类似于Linux中bash脚本中如何使用xmessage )? 回答1 我将制作一个非常简单的VBScript文件,并使用CScript调用它来解析命令行参数。 类似于以下内容保存在MessageBox.vbs : Set objArgs = WScript.Arguments messageText = objArgs(0) MsgBox messageText 您会这​​样称呼: cscript MessageBox.vbs "This will be shown in a popup." MsgBox参考,如果您对此路线感兴趣。 回答2 首先,DOS与它无关,您可能需要Windows命令行解决方案(再次:无DOS,纯Windows,不是窗口,而是控制台)。 您可以使用boflynn提供的VBScript方法,也可以误用net send或msg 。 net send仅适用于Windows的旧版本: net send localhost Some message to display 但是,这也取决于Messenger服务的运行。 对于较新的版本(显然是XP及更高版本): msg "%username%" Some message to display 应该注意的是,使用msg.exe发送的消息框仅持续60秒。 但是,可以使用
  • 如何显示“正在加载”。 。 。 请稍候”消息在Winforms中获取较长的加载表单?(How do I show a “Loading . . . please wait” message in Winforms for a long loading form?)
    问题 我有一个非常慢的窗体,因为在窗体上放置了许多控件。 因此,表单需要很长时间才能加载。 如何首先加载表格,然后显示它,而在加载延迟时显示另一个具有诸如“正在加载...请稍候”的消息的表格? 回答1 使用单独的线程显示一条简单的“请稍候”消息是过大的,特别是如果您没有太多线程处理经验的话。 一种更简单的方法是创建一个“请稍候”表单,并在缓慢加载表单之前将其显示为无模式窗口。 一旦主表单完成加载,请隐藏“请稍候”表单。 这样,您仅使用一个主UI线程来首先显示Please wait表单,然后加载您的主表单。 这种方法的唯一局限性在于您的请稍候表单无法进行动画处理(例如GIF动画处理),因为该线程正忙于加载您的主表单。 PleaseWaitForm pleaseWait=new PleaseWaitForm (); // Display form modelessly pleaseWait.Show(); // ALlow main UI thread to properly display please wait form. Application.DoEvents(); // Show or load the main form. mainForm.ShowDialog(); 回答2 我查看了大多数已发布的解决方案,但是遇到了我更喜欢的另一种解决方案。 它很简单,不使用线程
  • 如何禁用C#消息框提示音?(How do I disable the c# message box beep?)
    问题 每当触发C#程序中使用的消息框时,我的计算机都会发出非常烦人的提示音。 如何使用C#代码禁用此提示音。 我使用的代码非常简单。 MessageBox.show("text"); 回答1 通过搜索,我似乎将蜂鸣声硬连接到Win32消息框功能中: 字节数 VB论坛 因此,您需要编写自己的方法或在硬件中停止发出哔声。 前者将为每个人工作,后者只为您服务。 回答2 除非您尝试过,否则这听起来会很奇怪。 打开命令提示符,键入: net stop beep 我做了一个快速的谷歌,发现了4种其他方法: 本地计算机:sc停止蜂鸣声&& sc配置蜂鸣声开始=禁用远程计算机:sc \ remoteMachine停止蜂鸣声&& sc \ remoteMachine配置蜂鸣声开始=禁用需要重启:设备管理器->视图->显示隐藏的设备->非即插即用->哔声->禁用使用TweakUI:常规>设置->取消选中错误提示音 (从这里) 回答3 这就是我解决这个小问题的方法。 将这个简单的类添加到您的项目中。 现在它是我的个人库的一部分,但是您可以直接在您的项目中添加类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices
  • iOS 8快照未渲染的视图会导致快照为空(iOS 8 Snapshotting a view that has not been rendered results in an empty snapshot)
    问题 在iOS 8中,我无法从相机捕获图像,直到现在为止,我一直将此代码用于 UIImagePickerController *controller=[[UIImagePickerController alloc] init]; controller.videoQuality=UIImagePickerControllerQualityTypeMedium; controller.delegate=(id)self; controller.sourceType=UIImagePickerControllerSourceTypeCamera; [self presentViewController:controller animated:YES completion:nil]; 但是在iOS 8中,我得到了这个: Snapshotting a view that has not been rendered results in an empty snapshot. Ensure your view has been rendered at least once before snapshotting or snapshot after screen updates. 我已经尝试使用此帖子提供的解决方案 @property (strong,nonatomic
  • QT各种标准对话框实例使用总结
    作者:水瓶星人 座右铭:记录每一分痛点,分享每一点收获 说明:这篇来自书籍上的例程,即是笔记,也是分享。现在我也只是初学QT,文章若有错误还望指正,它能够对你有所帮助 文章目录 一、文件标准对话框实现内容:函数介绍:代码实现:运行截图: 二、颜色标准对话框实现内容:函数介绍:代码实现:运行截图: 三、字体标准对话框实现内容:函数介绍:代码实现:运行截图: 四、标准输入对话框前情说明实现内容:调用的函数名:总体运行截图: 单个函数介绍1、QInputDialog::getText(1)函数介绍:(2)使用举例:(3)运行截图: 2、QInputDialog::getItem(1)函数介绍:(2)使用举例:(3)运行截图: 3、QInputDialog::getInt(1)函数介绍(2)使用举例:(3)运行截图: 4、QInputDialog::getDouble(1)函数介绍:(2)使用举例:(3)运行截图: 五、标准消息对话框前情说明实现内容:调用的函数名:总运行截图:单个函数介绍1、QMessageBox::question(1)函数介绍:(2)使用举例:(3)运行截图: 2、QMessageBox::information(1)函数介绍:(2)使用举例:(3)运行截图: 3、QMessageBox::warning(1)函数介绍:(2)使用举例:(3)运行截图: 4
  • 如何在应用启动器图标中显示通知计数(How to display count of notifications in app launcher icon [duplicate])
    问题 这个问题已经在这里有了答案: 有没有办法在Android中将徽章添加到应用程序图标? (6个答案) 3年前关闭。 三星银河笔记2 Android版本4.1.2 我知道之前曾问过这个问题,因此无法回复 如何在Android上的应用程序启动器图标上显示气球计数器 尽管如此,昨天我还是更新了facebook应用程序,它开始显示未读消息的私人消息计数器。 Facebook应用程序为何能为我的应用程序提供服务,而我却无法做到? 三星银河笔记2 Android版本4.1.2 回答1 安卓(“香草”没有自定义发射器和触摸界面Android设备)不允许应用程序图标的变化,因为它是在密封.apk一旦程序被编译紧密。 无法使用标准API以编程方式将其更改为“可绘制”。 您可以通过使用小部件而不是图标来实现您的目标。 小部件是可定制的。 请阅读:http://www.cnet.com/8301-19736_1-10278814-251.html和http://developer.android.com/guide/topics/appwidgets/index.html。 也请看这里:https://github.com/jgilfelt/android-viewbadger。 它可以为您提供帮助。 至于徽章编号。 正如我之前所说-没有标准的方法可以做到这一点。
  • c#当屏幕/显示器关闭或打开电源时,如何获取事件?(c# How to get the events when the screen/display goes to power OFF or ON?)
    问题 嗨,我一直在搜索,但找不到答案。 我怎么知道屏幕何时关闭或打开。 不是SystemEvents.PowerModeChanged。 我不知道如何检索显示/屏幕事件 private const int WM_POWERBROADCAST = 0x0218; private const int WM_SYSCOMMAND = 0x0112; private const int SC_SCREENSAVE = 0xF140; private const int SC_CLOSE = 0xF060; // dont know private const int SC_MONITORPOWER = 0xF170; private const int SC_MAXIMIZE = 0xF030; // dont know private const int MONITORON = -1; private const int MONITOROFF = 2; private const int MONITORSTANBY = 1; [DllImport("user32.dll")] //static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); private static
  • 如何在Mac OS X 10.8 Mountain Lion的非视网膜显示器上模拟视网膜显示器(HiDPI模式)?(How to simulate a retina display (HiDPI mode) in Mac OS X 10.8 Mountain Lion on a non-retina display?)
    问题 如何在Mac OS X 10.8 Mountain Lion的非视网膜显示器上模拟视网膜显示器(HiDPI模式)? 回答1 搜索,下载并安装Apple免费的Xcode 8附加工具(对于以前的Xcode版本,请根据您的版本搜索Xcode图形工具)。 注意:需要免费的Apple Developer帐户。 启动Quartz Debug应用程序。 转到菜单: Window ---> UI Resolution 。 选中启用HiDPI显示模式。 退出Quartz调试。 打开系统偏好设置。 选择显示图标。 如果使用多显示器,请在要模拟HiDPI模式的显示器上选择配置窗口。 在“ Resolution: ,选择“缩放比例”单选按钮。 找到以(HiDPI)后缀的所需分辨率,然后选择它。 现在,您的显示器正在以HiDPI模式运行,模拟了视网膜显示器。 资料来源:《 OS X高分辨率指南》 回答2 我发现以下指示。 它似乎可以工作,并且比Quartz Debug方法容易得多。 “在不带石英调试的Mountain Lion中启用HiDPI模式” https://gist.github.com/3191869 简而言之,运行以下命令,注销,登录,然后在显示首选项中找到HiDPI分辨率: sudo defaults write /Library/Preferences/com.apple
  • Element-UI中的Form 表单组件
    v-model:用来为表单元素双向绑定数据。 disabled:表单元素禁用。 readOnly:表单元素只读。 hidden:表单元素隐藏。 一、输入框: 1、clearable:输入框是否具备可清除功能。 2、show-password:输入框是否表现为密码输入。 3、prefix-icon:设置输入框左侧的图标。 suffix-icon:设置输入框右侧的图标。 4、type=“textarea”:输入框表现为多行文本域。 rows:设置多行文本域显示的行数。 autosize:设置多行文本域是否自动随着内容的增多而增大。 取值:(1)逻辑值。此时rows无效。 (2)对象。 :autosize=“{minRows:5,maxRows:10}” 5、复合型输入框: (1)prepend插槽:为输入框设置左侧的附加内容。 (2)append插槽:为输入框设置右侧的附加内容。 6、minlength:最小字符个数。 maxlength:最大字符个数。 show-word-limit:是否显示字数统计。 二、带有输入建议的输入框: 标记对。 1、fetch-suggestions:为输入框提供建议数据。 取值为函数: query(queryString,cb){ //queryString - 用户输入的内容 //cb - 回调函数,用于返回建议数据 } 例:query
  • 对话框/ AlertDialogs:如何在对话框启动时“阻止执行”(.NET样式)(Dialogs / AlertDialogs: How to “block execution” while dialog is up (.NET-style))
    问题 来自.NET环境,我现在想了解Dialogs如何在Android中工作。 在.NET中,当调用创建并显示弹出对话框的MessageBox.Show(...) 。 在对Show的调用中,我可以指定弹出窗口中应提供哪些按钮,例如: DialogResult myDialogResult = MessageBox.Show("My text here", "My caption here", MessageBoxButtons.YesNoCancel); 如您所见,当在弹出窗口中按下按钮时,对Show的调用将返回DialogResult,通知我单击了哪个按钮。 请注意,在.NET中,执行在调用Show(...)的行处停止,因此按下按钮时它可以返回该值。 如果我在上面的示例中按“否”,则myDialogResult将等于 myDialogResult == DialogResult.No 由于我发现使用/创建弹出窗口的.NET方法非常简单直观,因此我也希望在Android中使用这种创建弹出窗口的方法。 因此,问题是,是否有人知道如何像MessageBox.Show一样“暂停执行”,然后每当按下Button(并且对话框消失)时返回一个值? 编辑1 要更清楚一点: 我需要暂停执行并等待,直到用户选择了一个按钮以单击弹出窗口。 调用后显示对话框的代码取决于在对话框中单击的按钮。
  • WinForm UI验证(WinForm UI Validation)
    问题 我需要在整个Winform应用程序中实施输入验证。 有许多不同的形式可以输入数据,我不想通过表单逐个控制地创建每个项目的isValid等。 别人如何处理呢? 我看到大多数相关文章都涉及Web Apps,并且/或者提到了Enterprise Library Validation Application Block。 现在,我承认我还没有对ELVAB进行彻底的研究,但是对于我所需要的东西似乎有些过头了。 我目前的想法是编写具有各种要求的类库,并将控件作为参数传递给它。 我已经有一个RegEx函数库,用于处理isValidZipCode之类的东西,因此这可能是我开始的地方。 我想要的是一个验证按钮,该按钮onClick循环浏览该表单页面上的所有控件并执行所需的验证。 我怎样才能做到这一点? 回答1 在我自己的应用程序中,我需要在输入维度时对其进行验证。我使用的顺序如下 用户选择或键入,然后离开控件。 控件失去焦点,并通知View发送其ID和条目文本。 视图检查哪个Shape程序(实现接口的类)创建了Form,并向其传递ID和输入文本 Shape程序返回一个响应。 如果“响应”正确,则视图将更新形状类的正确条目。 如果响应是正确的,则视图通过界面告诉表单可以将焦点转移到下一个条目。 如果“响应”不正确,则视图将查看响应,并使用“表单界面”告知表单要执行的操作。
  • 如何更改Git命令行界面的语言?(How does one change the language of the command line interface of Git?)
    问题 我想在Linux安装中将git的语言(更改为英语)而不更改其他程序的语言,并且找不到设置。 怎么做? 回答1 将这些行添加到~/.bashrc , ~/.bash_profile或~/.zprofile以强制git以英语显示所有消息: # Set Git language to English #alias git='LANG=en_US git' alias git='LANG=en_GB git' 当设置了环境变量LC_ALL时,别名在某些系统上需要覆盖LC_ALL ,该环境变量的优先级高于LANG 。 有关更多说明,请参见UNIX规范-环境变量。 # Set Git language to English #alias git='LC_ALL=en_US git' alias git='LC_ALL=en_GB git' 如果您将这些行添加到~/.bashrc ,则将在启动新的交互式shell时定义别名。 如果您将其添加到~/.bash_profile则别名将在登录时应用。 回答2 如果您只想使用一个英文命令,则可以在该命令前写LC_ALL=C ,例如: LC_ALL=C git status 将导致 # On branch master nothing to commit, working directory clean C语言中使用的语言环境为英语
  • 显示Windows服务中的消息框(Show a message box from a Windows Service)
    问题 您可以显示Windows服务中的消息框(或任何形式的通知)吗? 无法正常工作。 我用了: global::System.Windows.Forms.MessageBox.Show("A fatal error occurred. " + ServiceName + " is now terminating."); 但是它没有用,只是产生了一个错误。 回答1 不可以,您无法显示服务中的消息框。 如果要报告错误,则标准的方法是使用事件日志。 对于更多“高级”类型的UI(不仅是错误报告),通常是通过将常规Windows应用程序放置在用户的Startup文件夹(或注册表中的Run键)中并与该服务对话来完成的通过某种IPC机制(.NET远程处理,WCF,常规套接字,命名管道等)。 回答2 您可以使用“ WTSSendMessage(...)”功能(自Windows Vista和Windows Server 2008提供此功能)显示来自服务的消息,这是一篇不错的文章:http://msdn.microsoft.com/zh-cn /library/ms683502(VS.85).aspx 回答3 从维基百科: 尽管通常服务没有用户界面,但是开发人员可以添加表单和其他UI组件。 在这种情况下,应在“服务属性”对话框的“登录”选项卡上选中“允许服务与桌面交互”(尽管应谨慎使用此方法
  • 如何在Vim内部运行终端?(How do I run a terminal inside of Vim?)
    问题 我已经习惯了Emacs,但是我正在尝试Vim,看看我更喜欢哪一个。 我喜欢Emacs的一件事是能够在Emacs中运行终端。 这可能在Vim内部吗? 我知道您可以从Vim执行命令,但是我希望能够在选项卡中运行终端。 回答1 更新答案(11年后...): 如果您选择使用该解决方案,我建议您使用tmux而不是下面原始答案中所建议的screen 。 Vim 8.1现在有一个内置的终端,可以使用:term命令打开。 这提供了与Vim其余功能的更完整的集成。 我绝对会推荐类似这样的屏幕。 Vim是文本编辑器,而不是外壳。 我可以使用Ctrl + A S来水平拆分当前窗口,或者在Ubuntu的屏幕和其他修补版本中,可以使用Ctrl + A | (管道)垂直拆分。 然后使用Ctrl + A Tab (或在某些系统上等效的Ctrl + A Ctrl + I ,可能更容易键入)在窗口之间切换。 还有其他命令可以更改窗口的大小和排列方式。 或使用不太高级的screen只是打开多个全屏窗口并在它们之间切换。 这是我通常所做的,我偶尔仅使用分屏功能。 如果您不熟悉GNU Screen Survival Guide的用法,则可以找到许多很好的提示。 回答2 从2011年8月起过时 查看Conque Shell(也在GitHub上)。 使您可以在vim内运行任何交互式程序,而不仅仅是shell。 回答3
  • 【Unity3D插件】Dialogue System for Unity对话系统插件使用教程
    推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群:1040082875 一、前言 Dialogue System是一个分支式的统一会话系统。它不需要任何脚本,但它是设计为易于由程序员扩展。 Unity对话系统让你: 用分支逻辑编写交互式对话。在灵活的、完全可自定义的UI系统中显示会话。定义玩家要完成的任务/任务。播放镜头序列,如相机剪辑和音频。保存和加载游戏,并在场景更改中持久化数据。使用本地化来显示文本,并在不同的语言中播放剪裁场景。导入和导出各种格式,如:draft、Chat Mapper和CSV。 效果图: 二、下载地址 https://download.csdn.net/download/q764424567/12326896 三、正文 1、开始 设置 如果你的项目使用Unity5.x,则您必首先更改为强制文本序列化 Edit → Project Settings → Editor然后改变Asset Serialization到Force Text和Version Control到Visible Meta Files 下一步 ⑴演示场景 演示场景 演示场景在Plugins ► Pixel Crushers ► Dialogue System ► Demo 播放它,看看对话系统是如何工作的 怎么玩 使用箭头键或WASD键移动。用鼠标看
  • 如何更好地使用JSF h:messages?(How to use JSF h:messages better?)
    问题 我的目标是使用h:messages传达用户-错误和确认消息。 显示这两种不同消息的CSS样式是不同的,实际上,我想在确认消息旁边使用图像。 例如: <tr> <td> <img/> </td> <td> <h:msg> </td> </tr> 所以我尝试根据2个不同的客户端ID将消息添加到Faces Context中 <tr> <td height="5"> <h:messages style="color:darkred" id="error_message" /> </td> </tr> <tr> <td width="89%" class="InfoMsg" align="center"> <h:messages id="confirm_message" /> </td> </tr> 和java层: FacesMessage facesMessage = new FacesMessage(Constants.saveMessageConfirm); FacesContext.getCurrentInstance().addMessage(Constants.STATIC_CONFIRM_MSG_CLIENT_ID, facesMessage); 但是,即使我将消息添加到clientId Confirm_message-仅添加到Confirm_message