如何从C#应用程序在Windows照片查看器中打开.jpg图像?不像这段代码那样在应用程序内部,FileStreamstream=newFileStream("test.png",FileMode.Open,FileAccess.Read);pictureBox1.Image=Image.FromStream(stream);stream.Close(); 最佳答案 我认为你可以使用:Process.Start(@"C:\MyPicture.jpg");这将使用与.jpg文件关联的标准文件查看器-默认情况下是Windows图片查看器
我的目标我想要一个主处理线程(非GUI),并且能够根据需要在它们自己的后台线程中分离出GUI,并让我的主非GUI线程继续工作。换句话说,我希望我的主要非GUI线程成为GUI线程的所有者,而不是相反。我不确定使用Windows窗体是否可行(?)背景我有一个基于组件的系统,其中Controller动态加载程序集并实例化和运行实现通用IComponent接口(interface)的类,并使用单个方法DoStuff()。加载哪些组件是通过xml配置文件和添加包含IComponent不同实现的新程序集来配置的。这些组件向主应用程序提供实用功能。虽然主程序正在做它的事情,例如控制核电站时,组件可能
我的目标我想要一个主处理线程(非GUI),并且能够根据需要在它们自己的后台线程中分离出GUI,并让我的主非GUI线程继续工作。换句话说,我希望我的主要非GUI线程成为GUI线程的所有者,而不是相反。我不确定使用Windows窗体是否可行(?)背景我有一个基于组件的系统,其中Controller动态加载程序集并实例化和运行实现通用IComponent接口(interface)的类,并使用单个方法DoStuff()。加载哪些组件是通过xml配置文件和添加包含IComponent不同实现的新程序集来配置的。这些组件向主应用程序提供实用功能。虽然主程序正在做它的事情,例如控制核电站时,组件可能
对于WinForm应用程序中的任何自定义对话框(表单),我可以在显示之前设置其大小和位置:form.StartPosition=FormStartPosition.Manual;form.DesktopBounds=MyWindowPosition;这在处理多个监视器时尤为重要。如果没有此类代码,当您从已拖动到第二台显示器的应用程序打开对话框时,该对话框将出现在主显示器上。这会带来糟糕的用户体验。我想知道是否有任何Hook来设置标准.NETOpenFileDialog和SaveFileDialog(它们没有StartPosition属性)的位置。 最佳答案
对于WinForm应用程序中的任何自定义对话框(表单),我可以在显示之前设置其大小和位置:form.StartPosition=FormStartPosition.Manual;form.DesktopBounds=MyWindowPosition;这在处理多个监视器时尤为重要。如果没有此类代码,当您从已拖动到第二台显示器的应用程序打开对话框时,该对话框将出现在主显示器上。这会带来糟糕的用户体验。我想知道是否有任何Hook来设置标准.NETOpenFileDialog和SaveFileDialog(它们没有StartPosition属性)的位置。 最佳答案
我有一个在单击按钮后运行的winform代码:voidbutton1_Click(objectsender,EventArgse){AAA();}asyncTaskBBB(intdelay){awaitTask.Delay(TimeSpan.FromSeconds(delay));MessageBox.Show("hello");}asyncTaskAAA(){vartask1=BBB(1);//问题:为什么当delay=1时我一次看到一个MessageBox:但是如果我将延迟更改为:1,2,3—vartask1=BBB(1);vartask2=BBB(2);vartask3=BB
我有一个在单击按钮后运行的winform代码:voidbutton1_Click(objectsender,EventArgse){AAA();}asyncTaskBBB(intdelay){awaitTask.Delay(TimeSpan.FromSeconds(delay));MessageBox.Show("hello");}asyncTaskAAA(){vartask1=BBB(1);//问题:为什么当delay=1时我一次看到一个MessageBox:但是如果我将延迟更改为:1,2,3—vartask1=BBB(1);vartask2=BBB(2);vartask3=BB
我有一个UserControl,它由一个Label(顶部)、一个FlowLayoutPanel(填充、自上而下流和无换行)和一个面板(底部)。用户控件根据它获取的内容列表创建许多控件,并将它们添加到FlowLayoutPanel。如何让UserControl正确调整自身大小,使FlowLayoutPanel没有任何滚动条?我尝试在FlowLayoutPanel和UserControl本身上使用AutoSize和AutoSizeMode的各种组合,但我可以'似乎让它工作。要么我最终得到的东西根本不会自行调整大小,要么它变得不够大,要么被压缩成几乎没有。 最佳答
我有一个UserControl,它由一个Label(顶部)、一个FlowLayoutPanel(填充、自上而下流和无换行)和一个面板(底部)。用户控件根据它获取的内容列表创建许多控件,并将它们添加到FlowLayoutPanel。如何让UserControl正确调整自身大小,使FlowLayoutPanel没有任何滚动条?我尝试在FlowLayoutPanel和UserControl本身上使用AutoSize和AutoSizeMode的各种组合,但我可以'似乎让它工作。要么我最终得到的东西根本不会自行调整大小,要么它变得不够大,要么被压缩成几乎没有。 最佳答
我知道richtextboxes可以检测链接(如http://www.yahoo.com),但我有没有办法向它添加看起来像文本但实际上是链接的链接?比如在哪里可以选择链接的标签?例如,而不是它显示为http://www.yahoo.com它显示为Clickheretogotoyahoo编辑:忘了,我用的是windows窗体编辑:有没有更好用的东西(比如更容易格式化)? 最佳答案 当然可以通过在您的控件中调用一些WIN32功能来实现,但是如果您正在寻找一些标准方法,请查看这篇文章:CreatehyperlinkinTextBoxcon