Tag: winforms

用于C#的Windows窗体应用程序的会话

是否存在基于Windows的C#应用​​程序的会话,以便记录登录和注销多个用户的详细信息? 我试图使用声明静态变量,但它与会话不同。

在Winforms(C#)中创建一个系统托盘样式框

我一直在寻找一些资源,我找不到任何资源,所以我会带来这里。 我想在打开快速启动栏时看到一个与快速启动框类似的窗口: 示例窗口http://img63.imageshack.us/img63/6204/volcontrolstyleguide.png 可悲的是,我找不到任何资源; 你能帮我吗?

如何使用System.Media.SoundPlayer异步播放声音文件?

这是一个看似简单的问题: 在Windows窗体中异步播放嵌入式.wav资源文件的正确方法是什么? 尝试#1: var player = new SoundPlayer(); player.Stream = Resources.ResourceManager.GetStream(“mySound”); player.Play(); // Note that Play is asynchronous 好:不阻止UI线程 错误:SoundPlayer和嵌入的资源流不会立即处理。 尝试#2: using (var audioMemory = Resources.ResourceManager.GetStream(“mySound”)) { using (var player = new SoundPlayer(audioMemory)) { player.Play(); } } 好:未阻止UI线程,立即处理SoundPlayer和音频内存流。 坏:竞争条件! Play()是异步的,如果音频内存在播放完成之前被释放…繁荣! 抛出运行时exception。 尝试#3: using (var audioMemory = Resources.ResourceManager.GetStream(“mySound”)) { using (var player = new SoundPlayer(audioMemory)) { […]

C#从服务运行Windows窗体应用程序(和在Vista中)

我正在用C#编写一个需要作为服务运行但也有用户交互的应用程序。 我知道服务没有UI等,所以我把我的程序分成了一个windows表单应用程序和一个可以相互通信的服务。 我遇到的问题是我需要服务以确保Windows窗体应用程序始终运行并重新启动它,如果不是。 我能够检测它是否正在运行,并在Windows 2000 / XP上使用以下代码重新启动它: System.Diagnostics.Process.Start(“ExePath”); 但是在Vista上,它将新进程作为本地/系统进程运行,对用户来说是不可见的。 有人解决这个问题吗? 有没有办法检测当前登录的用户并以该用户身份运行新进程? 此时我不需要考虑快速用户切换。 什么 – 任何东西 – 基本就足够了。 如果您对此主题有任何帮助或提示,我将不胜感激。 我需要澄清一下,我在安装服务时设置了“允许服务与桌面交互”选项。 这使它可以在2000 / XP上运行。 但是,Vista仍然存在上述问题。

使dataGridView大小适合行和列的总大小

我想使dataGridView的大小适合列和行的总大小。 关于总高度,我设法将它适合列的高度: const int datagridLines = 30; s.Height = dataGridView2.Columns[0].HeaderCell.Size.Height; for (byte i = 0; i < datagridLines; i++) { dataGridView2.Rows.Add(); s.Height += dataGridView2.Rows[i].Height; } dataGridView2.ClientSize = s; 我尝试了一些适合宽度的东西,但没有运气。 有什么建议? 谢谢。

如何向datagridview winforms添加行?

我想在datagridview添加行。 我尝试了很多可能性,但它没有出现任何可能性。 我认为最好的解决方案是创建一个数据表,然后将其用作gridview的数据源。 我用winforms。 请,欢迎任何其他想法。 这是我到目前为止所尝试的: public DataTable GetResultsTable() { DataTable table = new DataTable(); table.Columns.Add(“Name”.ToString()); table.Columns.Add(“Color”.ToString()); DataRow dr; dr = table.NewRow(); dr[“Name”] = “Mike”; dr[“Color “] = “blue”; table.AcceptChanges(); return table; } public void gridview() { datagridview1.DataSource=null; datagridview1.DataSource=table; }

Linq到文本文件

我有一个文本文件(抱歉,我不允许处理XML文件:(),它包括客户记录。每个文本文件如下所示: Account_ID: 98734BLAH9873 User Name: something_85 First Name: ILove Last Name: XML Age: 209 等等……我需要能够使用LINQ从这些文本文件中获取数据,并将它们存储在内存中。 我见过很多Linq to SQL,Linq到BLAH,但没有Linq to Text。 有人可以请我帮助我吗? 谢谢

图表数据绑定到DataTable – 图表未更新

我正在尝试将Chart数据绑定到DataTable 。 我希望图表在添加时显示新行,但是当向表中添加新行时,图表不会更新。 我已经validationtable和tableDataSource都包含新行,但是chart.Series[“TestTable”].Points.Count永远不会从5更改。 基于问题的示例代码无法将数据表绑定到Chart Control ,如下所示。 我想知道下面的代码是否存在错误或遗漏,或者是一种实现相同目标的不同的更好的方法。 我知道如何手动添加点到Series ,但我想看看如何使用数据绑定。 Random r = new Random(); Timer timer = new Timer(); DataTable table = new DataTable(“TestTable”); DateTime date = new DateTime(2013, 1, 1); IList tableDataSource = null; void timer_Tick(object sender, EventArgs e) { table.Rows.Add(date, r.NextDouble()); date = date.AddDays(1); chart.Update(); } void MainForm_Load(object sender, EventArgs e) { […]

如何修复WinForms表单中的闪烁?

我不断画帧,我需要表格不要闪烁。 我该如何做到这一点? public partial class Form1 : Form { Image[] dude = new Image[3]; static int renderpoint = 0; int lastimage = 0; public Form1() { dude[1] = new Bitmap(@”snipe1.bmp”); dude[0] = new Bitmap(@”snipe0.bmp”); InitializeComponent(); } private void Form1_Shown(object sender, EventArgs e) { MainLoop(); } private void MainLoop() { double FPS = 10; long ticks1 […]

Winform自定义控件:在设计模式下,DesignMode不返回true

我在这里了解了DesignMode 如何在更改属性后在设计时刷新winform自定义控件 但是当我在我的自定义控件的构造函数中使用它时,它永远不会返回true,因此当我拖放我的自定义控件时,它总是显示max = 200,那么什么是错的? if (this.DesignMode) { this.Min = 0; this.Max = 100; } else { this.Min = 0; this.Max = 200; } this.LabMin.Text = this.Min.ToString(); this.LabMax.Text = this.Max.ToString();