- 博客(8)
- 收藏
- 关注
原创 关闭子窗口并结束子窗口中创建的子线程
我们在子窗口中创建一个子线程来执行耗时任务,但用户可能不想继续等待,在耗时任务结束之前就关闭了子窗口。这时会发现,虽然窗口关闭了,但是执行耗时任务的线程还在继续执行,这在大多数情况下是不合理的,而且占用系统资源,甚至会和其他进程发生冲突。下面有个方法可以在关闭子窗口时,将子线程也关闭掉。一、添加一个窗口关闭的事件。1.添加前台代码:Closed="ImportWindow_Close...
2018-08-23 21:22:51 2659 1
原创 C# WPF 执行耗时操作防止界面卡死,并对运行界面进行操作
在写程序时,有时我们需要连接数据库或者其他服务器,此时可能会消耗很长时间,并出现界面卡死。如果用鼠标点击窗口,会显示“无响应”。这是因为耗时操作在UI线程中,阻塞了UI线程,所以网上大多数建议采用多线程,将耗时操作和UI线程分开。以下以连接数据库为例。首先要using System.Threading;然后创建连接数据库的sqlconnectionstring connString ...
2018-08-20 15:15:29 18215 1
原创 用OLEDB方法将Excel导入到datatable
该方法在导入xlsx文件的时候,如果提示“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”,需要额外AccessDatabaseEngine.exe,下载链接http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.e...
2018-07-31 11:17:52 803
原创 c# 在DataTable的第一列(指定列)的前面添加一列
在写程序时可能会遇到这种情况,DataGrid或者其他控件绑定DataTable不是通过列绑定的,而是直接绑定到DataTable。所以,需要在后台设置好DataTable的格式,以便以期望的格式显示在控件上。比如需要动态地添加一列,并添加到指定位置。在网上搜了教程,有网友说通过绑定列重新绑定DataTable,有说新建一个包含新列的DataTable,然后用旧的DataTable填充新Tab...
2018-07-17 10:34:12 11018 2
原创 c# cannot set visibility or call show, showdialog,or after a window has closed.
该错误的意思是已经被关闭的窗口不能再可见或者调用show, showdialog方法;解决的办法很简单,每次要调用showdialog方法时,就新建一个window的实例;C#
2018-07-15 15:56:05 850
原创 WPF C#将DataTable绑定到DataGrid的两种方法
方法一:前台+后台前台设置如下:<DataGrid x:Name="StaffAdminView" ItemsSource="{Binding}" HorizontalAlignment="Left" Height="294" VerticalAlignment="Top" Width="347" Margin="30,83,0,0">注意一
2018-06-30 17:49:43 9021
原创 WPF C#将DataGrid绑定到数据库中读取的数据,并把变化更新到数据库
在网上看了好多帖子,关于绑定有说用context属性的,也有用DataSource属性的,还有用bindingsource,都未果。最后拼凑出这个办法。代码如下:static string connString = @"Server=localhost\SQLEXPRESS;Database=StaffAdmin;Trusted_Connection=True;";SqlConnectio...
2018-06-30 17:32:58 11340 11
原创 WPF C# 保存DataGrid数据到SQL数控的四种方法
方法一:用CommandBuilder前提条件:DataGrid中的数据是从SQL数据库中获取的,而不是从其他地方导入的(具体原因不知);它只能处理一个表;底层数据库表必须有主键或唯一键;SqlAdapter的SelectCommand属性必须有一个包含主键列的查询;string connString = @"Server=localhost\SQLEXPRESS;Database=StaffAd...
2018-06-30 16:59:42 3042 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人