Tag: winforms

DataGridView CheckBox列不会对基础绑定对象应用更改

我有一个Record对象列表,在DataGridView中作为行。 每个Record都有一个新的bool值Helped 。 果然,这个新值在我的表单中显示为复选标记。 目前的情况是,当选中此框时,它似乎不会更改相应Record的Helped bool的值。 是否需要更改某种只读属性? 如何更改我的表单上的点击作为其DataSource值的变化? 编辑:我找到了System.Windows.Forms.DataGridViewEditMode.EditOnEnter属性,但我仍然没有看到我的Record.Helped属性得到更新。

如何在缩放图像上绘图?

我的应用程序中有一个400X400 Size图片盒。 图片SizeMode设置为Zoomed 。 我在图片框中加载了一张700X446的png图像。 我有以下问题, 即使我沿着红色路径绘制黑色直线,实际上它也是从透视图中沿着加载的图像显示的。 我该如何解决这个问题? PS我只想在图像上绘图,而不是整个图片框。 源代码: public partial class MainForm : Form { Bitmap _inputImage = null; //Graphics _imageGraphics = null; #region ctor public MainForm() { InitializeComponent(); _inputImage = Bitmap.FromFile(@”E:\cracked.png”) as Bitmap; this.inputImagePictureBox.Image = _inputImage; } #endregion #region Mouse Up and Down Point _startPoint = Point.Empty; private void left_MouseDown(object sender, MouseEventArgs […]

找出最后一个焦点的控件

我有一个带有几个文本框和一个按钮的ac #windows窗体应用程序。 我想找出具有焦点并对其做一些事情的文本框。 我写了下面的代码,但当然它不起作用,因为按钮会在按下后立即获得焦点。 private void button1_MouseDown(object sender, MouseEventArgs e) { foreach (Control t in this.Controls) { if (t is TextBox) { if (t.Focused) { MessageBox.Show(t.Name); } } } }

使用C#搜索CSV文件并在其旁边的列中提取值

我正在尝试创建我正在编写的程序(Visual Studio中的C#)在外部CSV文件中查找值,并将下一列中的值拉回到WinForm中的标签中。 我的CSV文件是使用虚拟数据的测试,它是: > old,newuser,newpassword > firstlinetomakesure,firstnewusername,firstnewpassword > adslusernameplaintext,thisisthenewuser,andthisisthenewpassword > hello,terion,nadiomn > somethingdownhere,thisisthelastuser,andthisisthelastpassword > 11,12,13 > 21,22,23 > 31,32,33 我尝试在下面的链接中使用解决方案,但只能返回最后一行第二列中的值。 使用c#在csv文件中搜索值 我一直在尝试让程序在“旧”列中搜索值,然后从匹配行的“newuser”列中提取值。 然后这将进入WinForm中的标签。 任何示例代码或建议将不胜感激。

如何从DataGridView控件中打印值

我有一个具有DataGridView控件的应用程序,该DataGridView在按下“print”按钮时保存我想要打印的数据。 到目前为止,我已经有了“打印”按钮,但是当我在应用程序上打印时,页面出现空白! 如何编辑代码以启用数据打印? public partial class frmViewBookings : Form { private void btnClose_Click(object sender, EventArgs e) { Form3 mainpage = new Form3(); mainpage.Show(); this.Close(); } private void frmViewBookings_Load(object sender, EventArgs e) { this.bookingTableAdapter.Fill(this.usersDataSet1.Booking); } private void printDocument1_PrintPage(object sender, PrintPageEventArgs e) { var myPaintArgs = new PaintEventArgs ( e.Graphics, new Rectangle(new Point(0, 0), this.Size) ); this.InvokePaint(dataGridView1, […]

如何将图像从SQL Server加载到图片框?

我已经尝试了很多,我怎么能将图像从SQL Server加载到图片框,但我找不到非常有用的材料。 首先,我借助以下查询将图像保存到数据库中: insert into imageTest (pic_id, pic) values(1, ‘D:\11.jpg’) 现在我想将图像加载到图片框中。

WinForms分层控件与背景图像导致滚动时撕裂

我有一个具有以下属性的Form : 背景图片 具有透明背景的可滚动Panel ,以及Dock = DockStyle.Fill PictureBox具有较大的Width和Height ,显示滚动条 现在所有控件都设置为DoubleBuffered,包括表单本身。 一切都按预期工作,除了滚动PictureBox的面板时,表单背景图像滚动,它重复显示垂直和水平撕裂,虽然它的静态图像符合表单的大小,当你停止滚动它显示正确。 这仅在拖动滚动条时发生,如果我单击滚动条中的任何一点来移动它,它会正确显示。 根据我的理解,双缓冲应该消除这种情况,但即使双缓冲它也一样,可能稍微好一点,但滚动时仍然是一个巨大的问题。 我试图将所有控件放在另一个面板中,而不是使用表单背景图像,并将此面板放在窗体上,但它没有任何区别。

WinFormscombobox有多列(C#)?

我目前正在使用以下代码来填充combobox: combobox.DataSource = datatable; combobox.DisplayMember = “Auftragsnummer”; combobox.ValueMember = “ID”; 有没有办法显示多个列。 我为DisplayMember尝试了“Auftragsnummer,Kunde,Beschreibung”,但它没有用。

Windows.UI.Notifications丢失

我想在此示例中为Windows 10中的操作中心创建简单的Toast通知。 但我在第2步遇到了问题: using Windows.UI.Notifications; 它失踪了。 但是我花了很多时间才找到它而没有结果。 我真的不知道我在哪里可以找到或至少下载它。 我尝试了什么: 经过长时间的搜索后,我在C:\Windows\System32找到了Windows.UI.dll ,但是当我尝试将它作为参考添加到项目中时,我收到了这个错误。 即使在我尝试复制它并使其完全可访问之后,也没有任何改变 我试图重新安装.Net(我使用的是4.5.2) 安装了Windows 10 SDK 试图用全球import 添加 10.0 添加了System.Runtime.dll引用 示例代码可能对您无用: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.Toolkit.Uwp.Notifications; using Microsoft.QueryStringDotNET; using Windows.UI.Notifications; namespace MessagerClient.Notifications { class DefaultWindowsNotification { public static void notificationTest() { string title = “Andrew sent you a […]

Winforms:SuspendLayout / ResumeLayout是不够的?

我有一些库“自定义控件”。 基本上我们有自己的按钮,更圆的角落面板,以及一些带有一些定制油漆的combobox。 尽管OnPaint方法中有“数学”,但控件非常标准。 大多数情况下,我们所做的只是绘制圆角并为背景添加渐变。 我们使用GDI +来实现这一切。 这些控件都可以(根据我们的客户非常好看),但是尽管有DoubleBuffer,你可以看到一些重绘,特别是在同一表格上有20个++按钮时(例如)。 在表单加载时,您会看到绘制的按钮…这很烦人。 我很确定我们的按钮不是地球上最快的东西,但我的问题是:如果双缓冲区“打开”,那么不应该在后台进行所有重绘,而Windows子系统应该“立即”显示结果吗? 另一方面,如果有“复杂”的foreach循环将创建标签,将它们添加到面板(双缓冲)并更改其属性,如果我们在循环之前挂起面板并在循环时恢复面板布局结束,不应该所有这些控件(标签和按钮)“几乎立即”出现? 这不会发生这种情况,您可以看到面板被填充。 知道为什么不发生这种情况吗? 我知道很难在没有示例代码的情况下进行评估,但这也难以复制。 我可以用相机制作一个video,但相信我这个,它不是很快:)