小编use*_*246的帖子

如何在c#中以编程方式选择treeview节点?

用于treeview.SelectedNode选择子节点.如何以treeview.AfterSelect编程方式选择节点时调用事件?

this.treeView1.SelectedNode = this.treeView1.Nodes[0].Nodes[0].Nodes[0].Nodes[0]; 
if (this.treeView1.Nodes[0].Nodes[0].Nodes[0].Nodes[0].IsSelected) 
{
 MessageBox.Show("Node is selected"); 
}
Run Code Online (Sandbox Code Playgroud)

c# treeview winforms

27
推荐指数
2
解决办法
11万
查看次数

System.Windows.Forms.Timer是否在与UI不同的线程上运行?

我有一个主线程创建一个表单对象,它创建并设置一个计时器,每分钟运行一个名为updateStatus()的函数.但是updateStatus()也被主线程在几个地方调用.

但是,我不清楚它是否会导致任何同步问题.C#中的System.Windows.Forms.Timer是否在主线程以外的其他线程上运行?

.net c# timer winforms c#-4.0

23
推荐指数
4
解决办法
2万
查看次数

17
推荐指数
3
解决办法
2万
查看次数

在C#中查找内存泄漏

在以下程序中,虽然执行了垃圾收集,但不会重新获得内存初始大小的大小.1.内存的初始大小是总内存:16,940字节专用字节8134656

  1. 在循环内创建对象,以便在循环外部完成gc collect时释放这些对象,因为这些对象没有其范围.

  2. 但GC收集后的内存与初始大小不同总内存:29,476字节专用字节8540160处理数:115

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MemoryLeakTest
{

    class Program
    {
        static void DisplayMemory()
        {
            Console.WriteLine("Total memory: {0:###,###,###,##0} bytes", GC.GetTotalMemory(true));            
            Console.WriteLine("Private bytes {0}", System.Diagnostics.Process.GetCurrentProcess().PrivateMemorySize64);
            Console.WriteLine("Handle count: {0}", System.Diagnostics.Process.GetCurrentProcess().HandleCount);
            Console.WriteLine();
        }

        static void Main()
        {
            DisplayMemory();
            GC.Collect();
            for (int i = 0; i < 5; i++)
            {
                Console.WriteLine("--- New object #{0} ---", i + 1);

                object o = new object();

                GC.Collect();
                DisplayMemory();
            }
            Console.WriteLine("--- press any key to quit ---");            
            Console.WriteLine();
            Console.Read();

            GC.Collect();
            DisplayMemory(); …
Run Code Online (Sandbox Code Playgroud)

.net c# garbage-collection memory-management

16
推荐指数
2
解决办法
8654
查看次数

如何在c#中截断文件?

我正在使用Trace.Writeln()函数将C#中的程序执行的操作写入文件.但是文件变得太大了.如何在文件增长到1MB时截断它?

TextWriterTraceListener traceListener = new TextWriterTraceListener(File.AppendText("audit.txt"));
Trace.Listeners.Add(traceListener);
Trace.AutoFlush = true;
Run Code Online (Sandbox Code Playgroud)

应该添加到上面的块中

.net c# truncate file

13
推荐指数
4
解决办法
2万
查看次数

如何调用C#DLL的函数来接受来自C#的stringstream类型的参数?

我想导入一个非托管C++ DLL并调用一个stringstream作为参数的函数.在C#中,没有stringstream类,所以有人能告诉我如何从C#程序调用这样的函数吗?

c# c++ dll visual-c++

8
推荐指数
2
解决办法
1993
查看次数

.Net框架不兼容问题

我有一个针对.Net framework 3.5版本的C#应用​​程序.安装.Net framework 3.5时,二进制文件工作正常.但是它给了.Net 4.0一些不兼容的问题

我看到以下异常:

在Method:InitializeComponent行中捕获异常:0列:0异常:无法加载文件或程序集'WindowsFormsIntegration,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.该系统找不到指定的文件.

.net c#

7
推荐指数
1
解决办法
712
查看次数

使用平台Invoke(C#)在非托管代码中分配和释放内存

我想在非托管代码(C++)中分配和释放内存,我们将它们称为托管代码(C#)中的函数.我不确定以下代码是否没有内存泄漏?

C#代码:

[DllImport("SampleDLL.dll")]
public extern void getString([MarshalAs(UnmanagedType.LPStr)] out String strbuilder);

[DllImport("SampleDLL.dll")]
public extern void freeMemory([MarshalAs(UnmanagedType.LPStr)] out String strBuilder);

....

//call to unmanaged code
getString(out str);
Console.WriteLine(str);
freeMemory(out str);
Run Code Online (Sandbox Code Playgroud)

C++代码:

extern void _cdecl getString(char **str)
{
    *str = new char[20];
    std::string temp = "Hello world";
    strncpy(*str,temp.c_str(),temp.length()+1);
}

extern void _cdecl freeMemory(char **str)
{
    if(*str)
        delete []*str;
    *str=NULL;
}
Run Code Online (Sandbox Code Playgroud)

.net c# pinvoke memory-leaks unmanaged

6
推荐指数
1
解决办法
3076
查看次数

SMO代码支持sql 2005和sql 2008

使用SQLO版本:10.0.0.0的SMO程序集编写了一个manged c#DLL,我从一个未管理的c ++代码调用了这个DLL中的函数.此应用程序已成功运行SQL Server 2008,但此应用程序在运行SQL Server 2005时抛出异常,如下所示:

描述:无法加载文件或程序集"Microsoft.SqlServer.Smo,Version = 10.0.0.0,Culture = neutral,PublicKeyToken = 89845dcd8080cc91"或其依赖项之一.该系统找不到指定的文件.

那是什么原因?
由于SMO的版本错误,它在sql 2005中失败了吗?
如何使用单个C#dll在我的应用程序中支持sql 2005和sql2008?

c# c++ sql-server clr smo

5
推荐指数
1
解决办法
2330
查看次数

如何在WPF(C#)中删除Expander控件标头的虚线轮廓?

如何在WPF(C#)中删除Expander控件标头的虚线轮廓?

我尝试通过将FocusVisualStyle设置为null但没有运气。还有其他方法吗?

<UserControl x:Class="MyControl"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Height="373" Width="669">
    <Expander FocusVisualStyle="{x:Null}" Expanded="expander1_Expanded" Focusable="False" Foreground="DarkBlue" Header="My Header" Height="219" Name="expander1" Width="525">

.....
Run Code Online (Sandbox Code Playgroud)

.net c# wpf

5
推荐指数
1
解决办法
1020
查看次数

恢复的三个阶段:分析阶段,重做阶段以及最后的撤消阶段

SQL Server数据库恢复包括三个阶段:分析阶段,重做阶段,最后是撤消阶段。

有人可以对这三个阶段的恢复进行清楚的解释或提供良好的链接吗?

sql sql-server sql-server-2005 sql-server-2008

4
推荐指数
1
解决办法
3万
查看次数