Tag: winforms

在启动时启动应用程序,使用错误的路径加载

我正在使用注册表项将我的应用程序设置为在Windows Startup上加载(用户登录后)。 我的代码: RegistryKey RegKey = Registry.LocalMachine; RegKey = RegKey.OpenSubKey(@”SOFTWARE\Microsoft\Windows\CurrentVersion\Run”, true); RegKey.SetValue(“AppName”, “\”” + @”C:\Users\Name\Desktop” + “\””); RegKey.Close(); 因此,使用此代码,我的应用程序在启动时加载,但工作目录是 C:\ Windows \ System32下 有谁知道为什么? 这对我不起作用,因为该程序需要在与该操作相同的目录中的几个文件。 如果程序加载在我选择的目录(“C:\ Users \ Name \ Desktop”)上,则问题将不存在。 有人对此有任何建议吗?

Visual Studio设计时间属性 – 表单列表下拉菜单

[编辑]要清楚,我知道如何通过反思获得表格列表。 我更关心设计时属性网格。 我有一个用户控件具有Form类型的公共属性。 我希望能够在设计时从下拉菜单中选择一个表单。 我想从set命名空间填充表单下拉列表:UI.Foo.Forms 如果您拥有Control的公共属性,这将起作用。 在设计时,属性将自动使用表单上的所有控件填充下拉列表,供您选择。 我只想用命名空间中的所有表单填充它。 我该怎么做呢? 我希望我足够清楚,所以没有混乱。 如果可能的话,我正在寻找一些代码示例。 当我有其他截止日期要求时,我试图避免花太多时间在这上面。 感谢您的帮助。

运行时本地化

我用C#创建了Windows Form程序。 本地化有一些问题。 我有3种语言的资源文件。 我想单击每个语言按钮并在运行时更改语言。 当我在InitializeComponent()之前更改语言时,它可以工作。 但是,当我点击按钮时,它不起作用。 我正在使用此代码。 private void RussianFlag_Click(object sender, EventArgs e) { Thread.CurrentThread.CurrentUICulture = new CultureInfo(“ru-RU”); }

使图片框透明,每个与角落重叠?

TL; DR:请看下面的图片 所以我想拍一张照片,我和周围的人都有点想法。 我在中间(从上面看)有一张桌子(坐着吃饭),人们坐在它周围。 那些人是圆的,就像桌子一样。 每个人都有自己的图片框,我只使用一张图片,旋转它,并在下一个框中将其设置为图像。 现在的问题是:角落里人们的PictureBoxes与空角重叠,在图像中有透明度。 它应该显示在它下面的表,但它显示表格的背景:( 编辑:所有背景都设置为透明,表单将大理石作为背景,白色(“窗口”)作为背景颜色。 我把一个人放在后面,一个放在前面,所以很容易看到: 编辑2(与ocmment相同): 在过去的两天里,我读了大约10次这个问题,并没有一个描述这个确切问题的人有一个实际的答案。 当试图推动其中一个,我被告知我应该发一个新问题。 示例: 如何使图片框透明?

如何从最大化FormBorderStyle.FixedToolWindow的窗口中停止双击窗口标题栏?

我很生气,我答应了一个用户无法resize的固定窗口,但当然他们可以双击标题栏以最大化这个“不可调整的”窗口。 我该怎么办呢? 我可以使用winforms代码执行此操作,还是必须转到Win32? 谢谢!

使用DPI使WinForms正确扩展的问题

我遇到了让WinForms应用程序在高DPI设置下正确显示的问题。 我检查了各种网站,WinForms都有正确的AutoScaleMode。 我已经尝试将它设置为DPI和Font。 但是,当使用高DPI设置(例如125%)时,表格总是在底部附近被切断。 我添加了一些代码来检查,如果我将AutoScaleMode设置为DPI,当表单加载时,我看到表单加载时AutoScaleDimensions为120,120,而CurrentAutoScaleDimensions也为120,120。 在Form.designer.cs文件中,有一行将AutoScaleDimension设置为96,96。 如果我将AutoScaleMode设置为Font,那么我可以在设计器中看到AutoScaleDimension已正确设置为新的System.Drawing.SizeF(6F,13F),但是当表单加载时,AutoScaleDimension和CurrentAutoScaleDimension都设置为8F,16F。 这个应用程序混合了一些WPF和WinForms,WPF屏幕首先出现。 因此,基于混合WinForms和WPF应用程序中的.Net 3.5中的DPI Scaling,我尝试为应用程序设置TextFormattingMode,并为首先显示的WPF屏幕设置“显示”,但它没有任何区别。 坦率地说,我不知道造成这种情况的原因。 我想我可以通过在运行时检测DPI来添加代码来以编程方式resize,但我不应该这样做。 AutoScaleMode(和相关的)属性应该使这相当自动化。 那么我还应该检查哪些可能会导致这个问题呢?

关闭应用程序是否会停止所有活动的BackgroundWorkers?

简单的问题,重复标题: 关闭WinForms应用程序是否会停止所有活动的BackgroundWorkers?

如何在C#中的富文本框中使某些文本变为粗体

我想创建一个文本编辑器,我可以使文本变粗,改变颜色等。 我发现这段代码大致有效: public static void BoldSelectedText(RichTextBox control) { control.SelectionFont = new Font(control.Font.FontFamily, control.Font.Size, FontStyle.Bold); } 但是当我在RichTextBox输入更多字母时,文本仍然是粗体。 除非我选择文本并点击“Make Bold”按钮,否则我怎样才能使所选文本只是粗体而下一个字符不是?

如何从C#项目的Resources文件夹中检索Image

我在项目的资源文件夹中有一些图像,但我想从项目的这些资源文件中更改图片框

为什么在一个Combo中更改SelectedItem会更改所有其他Combos?

我用这种方式填充了combobox foreach (Control c in this.Controls) { if (c is ComboBox) { (c as ComboBox).DataSource = DataSet1.Tables[0]; (c as ComboBox).DisplayMember = “Articles”; } } 但是,问题是当我在一个Combo中更改SelectedItem时 – 它会在所有其他Combos中更改吗?