Tag: winforms

变量’variable_name’要么未声明,要么从未分配过

我有一个与标题错误有关的问题。 我正在使用c#和Visual Studio 2010。 我有一个声明为“公共类FormularioGeneral:Form”的表单,它是我的应用程序中其余表单的基础。 当我尝试访问Designer视图时,我会多次出现此错误,如图所示: 所有错误都引用InitializeComponent方法中的行,其中值被赋值给像这样的属性: […] this.PanelMargenIzquierdoCapaBase.BackColor = m_ColorCapaBase; […] 但是所有变量都在与只读属性相同的类中声明,并且所有变量都在构造函数中调用的方法内分配。 财产声明: protected Color m_VariableName; public Color VariableName { get { return m_VariableName; } set { } } 构造函数代码: public FormularioGeneral() { ConfigurarUI(); AccionesConstructor(); InitializeComponent(); PostInicializacionComponentes(); EstablecerIcono(); InicializarLocalizacionFormulario(); } ConfigurarUI方法: public virtual void ConfigurarUI() { […] m_AltoBordeSuperiorCapaBase = 30; m_AltoBordeInferiorCapaBase = 7; m_AnchoBordesLateralesCapaBase […]

绑定到DataGridView.Datasource时加载DataTable慢

我到处搜索过,我无法想出这个。 我正在开发一个Winforms UI,它正在拉动我需要在DataGridView中显示的大量行。 我已经阅读了有关限制行计数和分页的所有内容,对我来说绝对没有好办法。 基本上我正在编写我在Codeplex上编写的SQL Server 2008扩展事件管理器的TargetDataViewer控件。 http://extendedeventmanager.codeplex.com/ 基于特定目标以及它如何呈现数据,我只能做我能做的事情。 我想要做的是将从目标读取的数据流式传输到DataGridView,类似于Profiler或SQL Server Management Studio在流入时显示数据的方式。我重写了很多代码,并使用BackgroundWorker提取数据并将其处理为DataTable。 如果我没有设置DataGridView.DataSource = DataTable,我可以在几分钟内将300K +行数据加载到DataTable中,它确实运行得很快。 一旦我将DataTable添加到DataSource,它就会慢慢停止(而不是几分钟,相同的300K行可能需要1/2小时)。 我知道问题不是我的处理代码,它特定于绑定到DataGridView.DataSource,我有时间码来certificate这一点。 我无法弄清楚如何解决这个问题。 对于性能,我可以在加载数据后将控件绑定到DataTable,但这是一个非常糟糕的用户体验。 我看到很多人在加载数据时抱怨DataGridView的性能影响,所以这可能只是我遇到的限制? 有任何想法吗?

按钮的键盘快捷键

在C#(Microsoft Visual Studio 2010 )中,如何为按钮分配键盘快捷键,如下所示? private void closeButton_Click(object sender, EventArgs e) { // Close the program this.Close(); } 我知道我可以在按钮的文本中使用“&”字符并创建一个Alt – n快捷方式,但我想创建一个按键快捷键,例如c来执行上面的操作。

更改默认图标

我正在尝试将应用程序图标从默认更改为其他内容。 所以我做了什么,是我做了一个图标并保存了它。 然后我转到项目属性中的应用程序选项卡并更改了图标。 在那里,他显示了我制作的图标,但是当我运行我的项目时,它显示一个灰色图标而不是显示我的图标。 我在这里做错了什么?

C#垂直制表符控件

我可以将标签控件看作附图吗? 我设法添加了一个制表符控件,但文本仍然是垂直的。 我希望它是横向的。

在C#中创建(按需)SQL Server 2008 Express数据库的最佳实践?

目的是在全新的SQL Server 2008 Express数据库中处理用户的数据(您可以将其称为项目,文档,文件或其他内容)。 预计数据占用的空间将远远少于快递版本提供的4GB空间(也可免费分发)。 例如,每次用户选择File-> New命令时,将在指定位置创建一个新的空数据库。 另一方面,类似的命令File-> Open必须提供支持以检索数据库列表以选择一个用于打开的数据库。 因此,必须解决以下问题:a)应用程序必须能够创建连接字符串并通过代码(C#)将数据库附加到SQL Server 2008 Express b)应用程序必须能够检索(再次通过代码)a列出所有可用的数据库,以便用户有机会选择一个打开。 我认为在资源中使用模板数据库并将其复制到用户指定的位置会很有帮助。 你认为这是一个有效的解决方案吗? 你有什么建议吗?

如何将网页保存为图像

我有一个WebBrowser控件,我想保存查看到图像的整个页面(任何网页)。 我尝试使用IHTMLElementRender接口但它并不适用于所有网页。 也许我做错了,因为有时快照包括滚动条,有时它只是部分。 你有一个可以将整个网页保存到图像的工作示例吗? 谢谢。

C# – 为什么全屏winform应用程序不会覆盖任务栏?

我使用的是Windows Vista和C#.net 3.5,但我让我的朋友在XP上运行程序并遇到同样的问题。 所以我有一个C#程序,我在后台运行,在SystemTray中有一个图标。 我有一个低级键盘钩,所以当我按下两个键(在这种情况下为Ctr +窗口)时,它将拉动应用程序的主窗体。 在组合键按下甚至处理程序中将表单设置为全屏: this.FormBorderStyle = FormBorderStyle.None; this.WindowState = FormWindowState.Maximized; 所以它基本上有效。 当我点击CTR + Windows时,它会显示表单,无论我关注哪个程序。 但有时候,任务栏仍然会出现在我不想要的表格上。 当我按下那个键组合时,我希望它始终是全屏的。 我认为这与应用程序最初关注的内容有关。 但即使我点击我的主表单,任务栏有时也会停留在那里。 所以我想知道焦点是否真的是问题。 看起来有时候任务栏很顽固,并且不想坐在我的程序后面。 任何人有任何想法如何解决这个问题? 编辑:更多详细信息 – 当您将其置于全屏模式或将powerpoint置于演示模式时,我正在尝试获得与Web浏览器相同的效果。 在窗体中,您可以将边框样式设置为无,并最大化窗口。 但有时窗口不会出于某种原因覆盖任务栏。 它会有一半的时间。 如果我将主窗口放在最顶层,那么当我点击它时其他窗口就会落在它后面,如果任务栏被隐藏,我不想要它。

RichTextBox颜色选中的行

我是Windows Forms的新手。 我正在使用VS 2008,C#编写RichTextBox。 我想在写入RichTextBox时能够用不同的颜色为每一行着色。 有人可以指点我的样品。 谢谢 foreach (string file in myfiles) { // As I process my files // richTextBox1.Text += “My processing results”; if(file == “somefileName”) { // Color above entered line or enter new colored line } }

使用C#在MySQL中备份数据库

我创建了Winforms以备份我的数据库。 然后,当我运行我的程序时,它给出了一个未处理的Win32Exception。 “系统找不到指定的文件”虽然该文件已存在并导致该exception。 这是关于我的问题的代码 using System.Diagnostics; private void btnProceed_Click(object sender, EventArgs e) { path = @”D:\MySQL\MySQL Server 5.5\bin\mysqldump.exe -u ” + txtBoxDBUsername.Text + @” -p ” + txtBoxDBName.Text + @” > D:\C#\Client\Salesmate – EMC\SalesMate\Backup\” + maskeTxtBoxDBFile.Text + @””; Process p = new Process(); p.StartInfo.FileName = path; p.Start(); }