Questions tagged «winforms»

WinForms是Windows Forms的非正式名称,Windows Forms是Microsoft .NET Framework和Mono中的GUI类库。此标签中的问题还应使用目标框架([.net]或[mono])进行标签,并且通常应使用编程语言标签进行标签。

9
如何使DataGridView显示所选行?
我需要强制DataGridView显示所选内容row。 简而言之,我有一个textbox可DGV根据键入的内容更改选择textbox。发生这种情况时,选择将更改为match row。 不幸的是,如果所选row内容不在视图中,我必须手动向下滚动才能找到所选内容。有谁知道如何强制DGV显示所选内容row? 谢谢!

6
从Windows窗体打开URL
我正在尝试从Windows窗体提供指向我公司网站的链接。我希望行为良好,并使用用户喜欢的浏览器启动。 从Windows窗体应用程序在用户的默认浏览器中打开URL的最佳方法是什么?
77 .net  winforms 


8
无法使用System.Windows.Forms
我尝试过(第一个)制作C#程序: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("hello"); Console.ReadLine(); } } } 这很好,但是如果我尝试使用System.Windows.Forms: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("hello"); System.MessageBox("hello"); Console.ReadLine(); …

19
在C#的“父”表单的中心显示子表单
我创建一个新表单并从父表单中调用,如下所示: loginForm = new SubLogin(); loginForm.Show(); 我需要将子窗体显示在父窗体的中央。因此,在子窗体加载中,我进行以下操作: Point p = new Point(this.ParentForm.Width / 2 - this.Width / 2, this.ParentForm.Height / 2 - this.Height / 2); this.Location = p; 但这会引发错误,因为父窗体为null。我也尝试设置Parent属性,但没有帮助。有什么意见吗?
76 c#  winforms 


7
表单加载时停止触发comboBox的selectedIndexChanged事件
我有一个ComboBox提供下拉列表的表单。在comboBox上SelectedIndexChanged event,正在运行一些代码,但是我不希望在加载表单时运行该代码。不幸的是,当我加载表单(在组合框内进行选择之前)时,SelectedIndexChanged组合框会触发(我认为当组合框为时databinding)。有办法避免这种行为吗?

23
单一表单在启动时隐藏
我有一个带有一个窗体的应用程序,在Load方法上,我需要隐藏窗体。 表单将在需要时显示(按照Outlook 2003样式弹出窗口的思路显示),但是我无法弄清楚如何在加载时隐藏表单而不会造成混乱。 有什么建议?
75 c#  vb.net  winforms 

5
激活TabControl的标签页
我在#.NET应用程序中使用TabControl。默认情况下,TabControl的第一个标签页显示在表单加载中。我想激活/显示表单加载中的其他标签页。以编程方式,如何显示其他标签页?

4
WPF或Windows窗体
我已经使用C#控制台应用程序大约一年了,我想继续创建GUI应用程序。除了基本的Java应用程序外,我从未进行过任何GUI开发,但我想继续使用C#。我应该开始学习Windows窗体还是直接跳到WPF?有很大的不同吗?WPF是建立在Windows窗体之上还是完全不同?
75 c#  wpf  windows  winforms  c#-4.0 

10
向上,向下,向左和向右箭头键不会触发KeyDown事件
我正在构建一个应用程序,其中所有键输入必须由Windows本身处理。 我将tabstop设置为false,以使每个控制面板除面板外都能抓住焦点(但我不知道它是否有效果)。 我将KeyPreview设置为true,并且正在处理此表单上的KeyDown事件。 我的问题是,有时箭头键不再响应: 当我仅按箭头键时,不会触发keydown事件。 如果按下带有控制键的箭头键,将触发keydown事件。 您知道为什么我的箭头键突然停止触发事件吗?
75 c#  winforms  keydown 

17
合并两个(或多个)PDF
背景:我需要为销售人员提供每周报告。该软件包包含几个(5-10)水晶报告。 问题: 我想允许用户运行所有报告,也只运行一个报告。我以为可以通过创建报告然后执行以下操作来做到这一点: List<ReportClass> reports = new List<ReportClass>(); reports.Add(new WeeklyReport1()); reports.Add(new WeeklyReport2()); reports.Add(new WeeklyReport3()); <snip> foreach (ReportClass report in reports) { report.ExportToDisk(ExportFormatType.PortableDocFormat, @"c:\reports\" + report.ResourceName + ".pdf"); } 这样可以为我提供一个充满报告的文件夹,但是我想通过电子邮件将每个星期的报告发送给所有人。所以我需要将它们结合起来。 有没有一种简单的方法,而无需安装任何其他第三方控件?我已经有了DevExpress和CrystalReports,并且我不想添加太多。 最好在foreach循环中或在单独的循环中组合它们?(或另一种方法)
75 c#  .net  winforms  pdf 


15
用户单击列标题时如何启用DataGridView排序?
我在表单上有一个datagridview,并用以下命令填充它: dataGridView1.DataSource = students.Select(s => new { ID = s.StudentId, RUDE = s.RUDE, Nombre = s.Name, Apellidos = s.LastNameFather + " " + s.LastNameMother, Nacido = s.DateOfBirth }) .OrderBy(s => s.Apellidos) .ToList(); 现在,我使用s.Apellidos作为默认排序,但是我也想允许用户在单击列标题时进行排序。 这种排序不会以任何方式修改数据,这只是客户端的好处,可以使他们在用眼睛扫描屏幕时更轻松地搜索信息。 感谢您的建议。

2
如何授予我的应用程序为所有用户创建的文件的完全权限?
我开发的工具需要向其创建的文件授予访问权限“完全控制”。需要从所有Windows帐户甚至将来的帐户中读取,修改和删除它。可以实现吗? 我知道我可以为SPECIFIC_USER尝试以下操作: FileSystemAccessRule rule = new FileSystemAccessRule(SPECIFIC_USER, FileSystemRights.FullControl, AccessControlType.Allow); FileSecurity fSecurity = File.GetAccessControl(filePath); fSecurity.SetAccessRule(rule); File.SetAccessControl(filePath, fSecurity); 但是,如何授予所有用户呢?甚至将来的帐户?如果后一部分不可行,该如何执行第一个要求? 谢谢。 编辑: 这是为我工作的代码。摘自回答者的链接。 private bool GrantAccess(string fullPath) { DirectoryInfo dInfo = new DirectoryInfo(fullPath); DirectorySecurity dSecurity = dInfo.GetAccessControl(); dSecurity.AddAccessRule(new FileSystemAccessRule( new SecurityIdentifier(WellKnownSidType.WorldSid, null), FileSystemRights.FullControl, InheritanceFlags.ObjectInherit | InheritanceFlags.ContainerInherit, PropagationFlags.NoPropagateInherit, AccessControlType.Allow)); dInfo.SetAccessControl(dSecurity); return true; } 请注意PropagationFlags.NoPropagateInherit这是必需的(在链接的最后提到)。它确实为以后的帐户授予特权。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.