草庐IT

用于编程 WPF GUI 的 C# 与 F#

我正在努力决定在企业软件开发中使用F#和C#的界限在哪里。用于数学代码的F#是显而易见的。我喜欢F#用于GUI工作,尽管它缺乏GUI设计器支持,但当然,行业中C#GUI人员有更多可用资源。但是,我不太熟悉C#+XAMLGUI开发,所以我担心会引入偏差。在一个客户的情况下,他们有几十个非常静态的类似GUI(每年更改)和一些非常动态的其他GUI(例如业务规则引擎)。他们已经拥有F#代码并且已经在F#培训上进行投资,因此技能可用性不是问题。我的印象是,C#+XAML可以让您轻松构建静态GUI(一些slider、一些文本框等),但我看不出GUI设计器如何帮助像业务规则引擎这样的编程GUI。我是

c# - 如何从 WPF gui 运行异步任务并与之交互

我有一个WPFGUI,我想在其中按下一个按钮来开始一个很长的任务,而不会在任务期间卡住窗口。当任务正在运行时,我想获得进度报告,并且我想加入另一个按钮,可以在我选择的任何时间停止任务。我无法找到使用async/await/task的正确方法。我不能包括我尝试过的所有内容,但这是我目前所拥有的。一个WPF窗口类:publicpartialclassMainWindow:Window{readonlyotherClass_burnBabyBurn=newOtherClass();internalboolStopWorking=false;//Abuttonmethodtostartthel

GUI 和命令行的 C# 应用程序

我目前有一个带有GUI的应用程序。是否可以从命令行使用相同的应用程序(没有GUI并使用参数)。或者我是否必须为命令行工具创建一个单独的.exe(和应用程序)? 最佳答案 编辑您的项目属性,使您的应用程序成为“Windows应用程序”(而非“控制台应用程序”)。您仍然可以通过这种方式接受命令行参数。如果您不这样做,那么当您双击该应用程序的图标时,将弹出一个控制台窗口。确保您的Main函数接受命令行参数。如果您获得任何命令行参数,请不要显示该窗口。这是一个简短的例子:[STAThread]staticvoidMain(string[]a

c# - 如何使用 backgroundworker 更新 GUI?

我花了一整天时间尝试让我的应用程序使用线程,但没有成功。我已经阅读了很多关于它的文档,但我仍然遇到很多错误,所以我希望你能帮助我。我有一个非常耗时的方法,它调用数据库并更新GUI。这必须一直发生(或大约每30秒发生一次)。publicclassUpdateController{privateUserController_userController;publicUpdateController(LoginControllerloginController,UserControlleruserController){_userController=userController;login

c# - 使用 C# 将时间跨度值转换为格式 "hh:mm Am/Pm"

我有一个值存储在System.TimeSpan类型的变量中,如下所示。System.TimeSpanstoredTime=03:00:00;我可以将它重新存储到另一个String类型的变量中吗?StringdisplayValue="03:00AM";如果storedTime变量的值为storedTime=16:00:00;那么它应该被转换成:StringdisplayValue="04:00PM"; 最佳答案 您可以通过将时间跨度添加到日期来执行此操作。TimeSpantimespan=newTimeSpan(03,00,00);

c# - C# GUI 命名约定的最佳实践?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭7年前。Improvethisquestion无论是用WinForms还是XAML编写的GUI,在我所见的项目之间似乎具有最广泛的不同命名约定。对于一个人名的简单TextBox,我见过各种命名约定:TextBoxtbName//HungariannotationTextBoxtxtName//AlternativeHungarianTextBoxNameTextBox//NotevencamelCaseTextBoxnameTextB

c# - 从 UI 线程强制 GUI 更新

在WinForms中,如何强制从UI线程立即更新UI?我做的大致是:label.Text="PleaseWait..."try{SomewhatLongRunningOperation();}catch(Exceptione){label.Text="Error:"+e.Message;return;}label.Text="Success!";操作前标签文本未设置为“请稍候...”。我使用另一个线程解决了这个问题,但它变得很复杂,我想简化代码。 最佳答案 起初我想知道为什么OP还没有将其中一个响应标记为答案,但是在我自己尝试之后仍

c# - 一个可执行文件可以既是控制台又是 GUI 应用程序吗?

我想做一个C#可以作为CLI或GUI应用程序运行的程序,具体取决于传递给它的标志。这能做到吗?我发现了这些相关的问题,但它们并没有完全涵盖我的情况:HowtowritetotheconsoleinaGUIapplicationHowdoIgetconsoleoutputinC++withaWindowsprogram? 最佳答案 Jdigital'sanswer指向RaymondChen'sblog,这就解释了为什么您不能拥有既是控制台程序又是非控制台的应用程序*程序:操作系统需要在程序开始运行之前知道要使用哪个子系统。一旦程序开始

c# - 如何从 DateTime 获取 AM/PM 值?

有问题的代码如下:publicstaticstringChangePersianDate(DateTimedateTime){System.Globalization.GregorianCalendarPC=newSystem.Globalization.GregorianCalendar();PC.CalendarType=System.Globalization.GregorianCalendarTypes.USEnglish;returnPC.GetYear(dateTime).ToString()+"/"+PC.GetMonth(dateTime).ToString()+"/"

Windows 10 Docker 主机 - 从 Linux 容器显示 GUI 应用程序

我正在尝试使用Windows10作为我的主机并运行包含基于gui的应用程序的Docker容器,并使用X11转发或类似的方式显示它们。我在网上找到的几乎所有信息都与Linux主机到Linux容器(示例-http://fabiorehm.com/blog/2014/09/11/running-gui-apps-with-docker)有关,其中暴露了套接字/x11权限。我发现的其他信息来自以前的Boot2Docker/Windows实现,其中需要virtualbox作为设置过程的一部分并且需要VNC。目前的基本设置,有谁知道必须调整什么才能让Firefox在主机系统的窗口中显示?--在Wi