我正在寻找标准窗口YES/NO或YES/NO/CANCEL MessageBox的合适替代品.
我经常看到这些标准对话框被滥用的方式如下:"以纯文本格式保存答案是,或保存在HTML答案中".显然,文本应显示为"另存为:"按钮应标记为"文本"和"HTML".这不是一个肯定/没有问题的问题,虽然它可以用这种方式表达,但阅读和理解并不容易.
Microsoft无法更改按钮上的文本.没有快速/简单的方法可以从头开始构建替换...正如使用上述笨拙风格的应用程序数量所证明的那样.
是否有任何免费的C#替换对话框或MessageBox,至少可以让你:
- 指定按钮的数量
- 指定每个按钮上显示的文本
- 指定
我看过的默认按钮,但无法找到.
(我会自己构建一个,但是我不熟悉完全功能控件应该具有的所有行为,因为我只需要/使用/知道一个小子集.我不使用的两个例子:主题和国际化.I需要我的同事也想要使用的东西.)
我在Windows窗体上有一个Panel.Panel已启用自动滚动.滚动条按原样显示,滚动条通常按预期运行.
但只有在释放鼠标按钮时才会更新面板的内容.如何在滚动条移动时滚动内容.(我想复制大多数现代程序的滚动行为,如文字处理程序和Web浏览器......移动滚动条,内容也会立即滚动.)
我正在使用C#,Visual Studio 2008专业版和Windows XP专业版.
我有一个班,负责复杂的科学计算.它被设置为仅允许用户创建正确实例化的案例.但是,要正确测试代码,需要直接设置内部状态变量,因为参考文档在其测试用例中提供了这些数据.但是,如果做得不正确,它可能会使州无效.
所以我必须有能力,一个成员函数,从单元测试程序中设置内部变量.但我想强烈反对普通用户调用此功能.(是的,一个坚定的用户可以捣乱任何东西......但我不想宣传有办法做错事.)
例如,能告诉Intellisense不显示该功能会很高兴.
我目前最好的解决方案就是将函数命名为:DangerousSet().
我还有其他选择吗?
跟进
我发现David B的答案对我的情况最有用.谢谢!
Mufasa建议使用反射很好,但更难实现(对我而言).
克里斯建议使用装饰器很好,但没有成功.
BFree对XML的建议也很好,并且已经在使用,但并没有真正解决问题.
最后,BillTheLizard建议问题出现在源文档中,这不是我可以控制的.国际专家出版高度技术性的书籍和期刊文章供社区使用.他们没有满足我的特殊需求这一事实是生活中的事实.根本没有替代文件.
简短版本:正在使用一个类而没有实例化它的类型的变量.怎么样?
我有一个巨大的遗留程序,从VB6转换为VB.net.它正在编译并且许多方面都有效,但是存在与MDI(多文档界面)显示相关的问题.我已将其他测试表单放在父MDI表单下,并且它们正确显示.有问题的表格不会显示.(而且,当然,它是最重要的,也是最复杂的形式.我希望我可以重写它,但是没有可能.)
有一个类MDI1,在许多其他类的代码中使用了7000多次.MDI1类以不显示的形式广泛使用.无论在何处使用MDI1,它总是简称为MDI1或Namespace.MDI1.据我所知,它永远不会被实例化为一个对象.就好像它是一个单身人士,不知何故,但我看不出任何东西使它成为一个.
该类的标题如下:
Option Strict Off
Option Explicit On
Imports VB = Microsoft.VisualBasic
Friend Class MDI1
Inherits System.Windows.Forms.Form
Dim MDI_Activated As Boolean
Public Sub New()
MyBase.New()
InitializeComponent_Renamed()
End Sub
...
Run Code Online (Sandbox Code Playgroud)
谁能告诉我这里会发生什么?
我尝试通过右键单击并选择"转到定义"来检查Visual Studio的每个地方都会带我回到类定义(上面代码的第4行),而不是类型的变量MDI1.我搜索了整个源代码(使用Visual Studio和Visual Studio外部的grepwin),并且找不到使用MDI1类型实例化的变量.
我不明白对类的调用是如何工作的,没有该类型的变量.
非常感谢帮助.
我正在使用Visual Studio 2010 Professional,这是我可以访问的最新版本.
我需要在运行时使用C#中的Managed DirectX 制作DirectX 3D网格.我无法找到有关如何执行此操作的任何信息.
可以使用此DirectX调用获取球体
Mesh sphere = Mesh.Sphere(device, sphereRadius, sphereSlices, sphereStacks);
网格:此网格是在运行时构建的.
我需要知道的是如何制作类似的功能:
Mesh shape = MakeCustomMesh(device, vertexlist, trianglelist);
两个列表可以是任何合适的容器/格式.
如果有人能指出我管理的DirectX(C#)示例代码,即使它只是从3个硬编码三角形构建网格,这将是一个很大的好处.
我有一个.exe文件的路径名.
如果将此文件放在桌面上,如何找到Windows将使用的图标路径?(我想在我自己的程序中显示这个图标.)
我需要能够在运行时通过我的C#程序找到图标.
在Visual Studio 2008中使用C#.
多个客户端程序与单个服务器程序通信的最佳方式是什么,所有程序都运行在一台 Windows 计算机上?全部用VB6编写。我很感激你如何解决这个问题的建议。
注意:我们正在努力过渡到 .NET,但必须在 .NET 准备就绪之前向 V6B 版本添加功能。
可能性包括 TPC 连接、命名管道、共享内存、消息、文件等。
客户端向服务器传递一个字符串作为输入,服务器将它与只有服务器知道的数据结合起来,生成另一个字符串返回给客户端。两个字符串都只有大约 100 个字符长。仅当需要打开新文件时才联系服务器,因此通信量非常低……可能在 15 秒内有 10 个呼叫,然后是一个小时的空闲时间。
但是,两个客户端可能会选择大约在同一时间请求信息。阻塞/锁定当然是可以接受的,因为服务器将在不到一秒的时间内完成每个请求,并且几秒钟的延迟对任何程序都不重要。
服务器的算法很复杂,并且出于多种对应用程序重要的原因,不应在每个帮助程序中复制。这就是需要服务器的原因。
背景:
我正在为现有的大型遗留程序添加功能。这个单一程序还有其他几个遗留程序,它们充当帮助程序,并在用户做出某些选择时运行。这些程序是用一个 shell 命令启动的,而不仅仅是单独的线程。例如,一名助手将新数据从 DVD 驱动器加载到硬盘驱动器上。另一个助手只显示行星当前位置的图表。
这是一个大型商业遗留程序,恰好是用 VB6 编写的。我们正在努力将它和所有帮助程序转换为 .NET,但必须首先在 vb6 下发布具有此附加功能的新版本。(请不要告诉我不要使用 VB6,因为我们已经搬到别处了。)我们需要一个临时的 VB6 解决方案。