如果我有一个TreeView(myTreeview),我怎样才能获得作为父节点的所有节点的列表?即有孩子的节点
有没有一种方法可以用来在c#中生成非线性渐变画笔?
澄清:我不是在寻找可以应用于非线性路径的渐变.相反,我正在寻找两种颜色之间的渐变,这两种颜色之间以非线性方式逐渐消失,即在渐变开始时变化的速度更快,而在画笔接近结束点时变慢.
使用gdi +在c#中是否可以实现这一点?
我刚刚开始使用F#,但我有一些类似于以下内容的代码:
let square x = x*x
let result = square 5.1
let result' = square 12
Run Code Online (Sandbox Code Playgroud)
不幸的是,这会导致以下错误: This expression was expected to have type float but here has type int
这个问题是否有惯用的F#解决方案,还是我的想法被我的C#体验所污染?
目前我有一个ListView(使用详细信息视图).我想实现这样的行为:当用户选择单个项目(日志条目)时,日志条目会扩展(从一行到多行),以提供有关发生的错误的更详细信息.
我的问题是:这可能吗?如果是这样,我可以使用一个很好的资源来帮助我吗?
编辑:
如果我HAVE使用WPF,那么我猜病态使用ElementHost的与控制.但是,我完全不知道如何设计/编码/使用WPF组件.有什么建议?
我有一个TreeView控件显示有组织的层次结构中的多个TreeNode.我想阻止用户选择最高级别的节点(这是通过使用BeforeSelect事件实现的).如果用户选择它们,我还想阻止TreeView突出显示顶级节点,即停止TreeView更改节点的背景颜色并"选择"它.
我使用的TreeView是控件的WinForms版本.
以下是我目前正在尝试使用的源代码:
private void tree_BeforeSelect ( object sender, TreeViewCancelEventArgs e )
{
if ( e.Node.Level == 0 )
{
e.Cancel = true;
}
}
Run Code Online (Sandbox Code Playgroud)
这确实取消选择节点,但仅在不希望的闪烁(~200ms)之后.
是否有必要手动管理System.Drawing对象的生命周期?
目前我正在使用"使用"语句来最小化画笔和其他绘图对象的寿命,例如
using ( Brush br = new SolidBrush( color ) )
{
// Do something with br
}
Run Code Online (Sandbox Code Playgroud)
这是必要的还是让垃圾收集器在需要的时候发挥作用是否安全?
作为问题的一个快速...人们认为最简单的方法是什么?
是否有一种快速而简单的方法来获取Visual Studio 2008(c#)项目中所有类的列表?它们有很多,我只是懒得不想手动做.
如果我有线程A,它是主要的应用程序线程和辅助线程.如何检查线程B中是否正在调用函数?
基本上我正在尝试实现以下代码snippit:
public void ensureRunningOnCorrectThread()
{
if( function is being called within ThreadB )
{
performIO()
}
else
{
// call performIO so that it is called (invoked?) on ThreadB
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在C#中执行此功能,还是有更好的方法来查看问题?
编辑1
我已经注意到MSDN文档中的以下内容,虽然我不知道它是否是一件好事!:
// if function is being called within ThreadB
if( System.Threading.Thread.CurrentThread.Equals(ThreadB) )
{
}
Run Code Online (Sandbox Code Playgroud)
编辑2
我意识到我以错误的方式看待这个问题(感谢下面的答案帮助我看到了这一点)我所关心的是在ThreadA上不会发生IO.这意味着它可能发生在ThreadB或任何其他线程上,例如BackgroundWorker.我已经决定在上面的f语句的else部分中创建一个新的BackgroundWorker,以确保以非阻塞的方式执行IO.我不完全确定这是我的问题的最佳解决方案,但它似乎工作!