Tag: winforms

Visual Studio 2008文件夹浏览器对话框

在Visual Studio 2008中,有一个文件夹浏览器对话框,看起来像这样(非常类似于文件打开对话框): 对话框http://img24.imageshack.us/img24/5742/folderbrowser.jpg 有谁知道如何从代码中调用它?

任何列中DataGridView标头中的复选框

实际上我已经解决了DGV标题中有复选框的问题,这里是代码 Rectangle rect = dataGridView1.GetCellDisplayRectangle(0, -1, true); rect.Y = 3; rect.X = rect.Location.X + (rect.Width/4); CheckBox checkboxHeader = new CheckBox(); checkboxHeader.Name = “checkboxHeader”; //datagridview[0, 0].ToolTipText = “sdfsdf”; checkboxHeader.Size = new Size(18, 18); checkboxHeader.Location = rect.Location; checkboxHeader.CheckedChanged += new EventHandler(checkboxHeader_CheckedChanged); dataGridView1.Controls.Add(checkboxHeader); 实际上首先我在我的DGV上添加了一个列,这是一个DataGridViewCheckBoxColumn,然后在添加上面代码的表单的加载中,我的问题就像你在下面看到的第一列它工作得很好,因为我可以设置rect.X in该列的代码,但是通知符列如何以编程方式知道此列标题的位置,因为日志列可以通过最大化和这些内容进行更改。 最后,我怎么能以编程的方式知道列[3]的标题位置是什么….提前谢谢

如何从C#中的DataGridView打印数据?

我正在开发一个程序,我需要打印DataGridView控件中显示的Bills数据。 我想知道代码如何在DataGridView中打印数据。 我正在使用Visual Studio 2008和C#3.5

在生成条形码时修复“GDI +中发生了一般错误”

我在C#中编写条形码生成器我可以生成条形码作为位图,并可以在Picturebox(WindowsForms)中显示它们。 另一方面,我无法将条形码保存为gif或jpeg文件。 我的条形码是位图文件,这是我的代码 Bitmap barCode = CreateBarCode(“*”+txtBarCodeStr.Text+”*”); barCode.Save(@”C:\barcode.gif”, ImageFormat.gif); picBox.Image = barCode; MessageBox.Show(“Created”); 我得到以下exception; GDI +中发生了一般错误。

使用DataTable将数据加载到DataGridView的Progressbar

我有一个DataGridView ,我在其中从SQL服务器数据库加载数据。 当我加载数据时需要很长时间。 我想向用户提供数据正在加载的信息。 我可以问你在将数据加载到DataGridView时连接Progressbar的最佳方法是什么? 我不希望任何人为我制作完整的代码。 我只是想知道如何做到这一点。 我看到有人以赏金授予我的问题。 我想说,目前我使用这个代码,如果它适合的话我会评价。 DTGdataTable = new DataTable(); SqlDataAdapter SDA = new SqlDataAdapter SDA.Fill(DTGdataTable); dataGridView1.DataSource = DTGdataTable ; 谢谢大家的时间。

C#:Windows窗体:什么可能导致Invalidate()不重绘?

我正在使用Windows窗体。 很长一段时间, pictureBox.Invalidate(); 努力使屏幕重新绘制。 但是,它现在不起作用,我不知道为什么。 this.worldBox = new System.Windows.Forms.PictureBox(); this.worldBox.BackColor = System.Drawing.SystemColors.Control; this.worldBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.worldBox.Location = new System.Drawing.Point(170, 82); this.worldBox.Name = “worldBox”; this.worldBox.Size = new System.Drawing.Size(261, 250); this.worldBox.TabIndex = 0; this.worldBox.TabStop = false; this.worldBox.MouseMove += new System.Windows.Forms.MouseEventHandler(this.worldBox_MouseMove); this.worldBox.MouseDown += new System.Windows.Forms.MouseEventHandler(this.worldBox_MouseDown); this.worldBox.MouseUp += new System.Windows.Forms.MouseEventHandler(this.worldBox_MouseUp); 在我的代码中调用以适当地绘制世界: view.DrawWorldBox(worldBox, canvas, gameEngine.GameObjectManager.Controllers, selectedGameObjects, LevelEditorUtils.PREVIEWS); View.DrawWorldBox: public void […]

水平滚动条在DataGridView上不可见

我在Window窗体上有一个DataGridView ,它填充了30列和数千行。 ScrollBars属性设置为Both ,但仍然不显示水平滚动条。 即使我无法用键盘上的箭头键滚动。 我通过将ScrollBars属性设置为Horizontal来尝试它,但这没有任何区别。 有什么建议吗? 谢谢

防止文本框中的闪烁光标

在文本框中,如何在单击时阻止显示闪烁的光标? 我确实在一些论坛中读到了对特定api的调用,但当我在我的代码中尝试它时,显示错误。 如果可能,请提供完整的代码,如果有特定事件需要执行代码,请告诉我。 此文本框是创建用于模拟lan信使的表单窗口的一部分。 我正在使用C#。 该表单有两个文本框,以便类似于谷歌谈话。 希望防止在上部文本框上显示闪烁的光标。 我试过了: [DllImport(“user32”)] private static extern bool HideCaret(IntPtr hWnd); public void HideCaret() { HideCaret(TextBox1.Handle); } 我收到错误:“无法找到DllImport。”

C#登录示例

我无法隐藏登录表单的主表单。 用户登录后关闭登录表单并显示主表单。 我一直在困惑自己,我删除了所有代码并重新开始。 我可以隐藏登录表单。 我无法隐藏调用的主要表单 Application.Run(new MainForm()); 登录表单如下所示: namespace WindowsFormsApplication1 { public partial class LoginForm : Form { public LoginForm() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string username; string password; username = TB_username.Text; password = TB_password.Text; if (User.Login(username, password)) { Globals._Login = true; // Close login form this.Dispose(false); } else { […]

如何使用Windows窗体单选按钮进行数据绑定?

我的数据库中有一个二进制字段很难在UI中使用单个“Is XXXX?” – 类型复选框进行描述。 我宁愿使用一对单选按钮(例如“Do it the Foo way”和“Do it the Bar way”),但是现在我表单上的所有其他字段都是数据绑定到业务对象。 我想将这对单选按钮数据绑定到业务对象,但还没有找到一个好方法。 我可以将其中一个按钮绑定到该字段,这样如果选择了该按钮,则该字段设置为“true”,但是选择另一个按钮时取消选择第一个按钮(即,两个单选按钮正确配对) ),该字段的值不会更新以反映这一点。 我想能说 button1.DataBindings.Add(new Binding(“checked”, source, “useFoo”)); button2.DataBindings.Add(new Binding(“checked”, source, “!useFoo”)); 但我很确定它会在它运行时抛出。 有没有更简单的方法,或者我应该更多地考虑如何单一复选框? 我不想添加额外的function来处理这个微不足道的事情…… ETA:一位评论者建议考虑下拉(ComboBox)。 我曾考虑过这个,但是我如何将它数据绑定到业务对象的数据库/属性中的布尔字段? 如果我将SelectedItem绑定到useFoo属性,那么Items集合中会包含什么? 我是否必须添加“True”和“False”,或者我可以以某种方式添加一个键/值对对象,将显示的项目(“使用Foo”/“不使用Foo”)绑定到它后面的布尔值? 我很难找到这方面的文档。 关于答案:我最后使用的解决方案涉及修改业务对象 – 基本思想与Gurge发布的基本思想非常相似,但在我阅读他的回复之前我分别想出了它。 简而言之,我添加了一个单独的属性,只返回!useFoo 。 一个单选按钮绑定到source.UseFoo ,另一个绑定到source.UseBar (新属性的名称)。 重要的是确保新房产既有吸气剂又有吸气剂,否则您将会遇到非常奇怪的行为。