我有First/Last/Previous/Next按钮,用于更改TreeViewItem的选定子节点.将First节点和Last节点设置为选中不是问题.例如,要选择最后一个子节点:
TreeViewItem selectedItem = (myTreeView.SelectedItem as TreeViewItem);
TreeViewItem ParentItem = (selectedItem.Parent as TreeViewItem);
(ParentItem.Items[ParentItem.Items.Count - 1] as TreeViewItem).IsSelected = true;
Run Code Online (Sandbox Code Playgroud)
将上一个/下一个项目设置为选中的最简单/最优雅的方法是什么?
谢谢!
如何配置rails logger以另一种格式输出其日志字符串?我想得到一些更具信息性的东西:
[日志级别] [时间] [消息]
调试:01-20-2008 13:11:03.00:调用方法
当我想在我的development.log中找到仅来自某个日志级别的消息(例如debug)时,这对我有用.
我正在调试一些东西并在JavaScript中发现了一些奇怪之处:
alert(1=='') ==> false
alert(0=='') ==> true
alert(-1=='') ==> false
Run Code Online (Sandbox Code Playgroud)
隐含的字符串比较0应该为'0'是有意义的.对于所有非零值都是如此,但为什么不为零呢?
我需要将表单上特定类型的每个控件切换为不同的类型,同时保持与每个控件关联的名称和代码.
例如,假设我需要将十几个或更多TEdit字段切换到TSpinEdits.如何以最小的努力在Delphi 2007中做到这一点?
我知道使用jconsole附加到java进程以获取内存信息.具体来说,我是以编程方式获取有关各种内存池的信息,因此我可以将其与监控应用程序联系起来.
谢谢!
使用Windows 2003,我正在寻找一种方法来创建一个"注销脚本",它将继续当前的注销,然后立即登录另一个用户.因此,"UserA"注销.脚本触发登录"UserB".
这是我们编写"shell"的计算机应用程序升级的一部分; 类似于自助服务终端应用程序.对于升级,我们需要以"管理员"身份登录,然后在升级完成后,注销"管理员"并以"sample_user"身份登录.我们希望在不重新启动的情况下完成此任务.
注意,我不想要一个会启动注销的脚本(即"关闭").我正在寻找一个将在用户注销时运行的脚本(通过组策略设置).如上所述,脚本应该记录不同的用户.
谢谢.
假设我有一些Java代码:
public class SomeClass {
static {
private final double PI = 3.14;
private final double SOME_CONSTANT = 5.76;
private final double SOME_OTHER_CONSTANT = 756.33;
}
//rest of class
}
Run Code Online (Sandbox Code Playgroud)
如果一个线程正在实例化SomeClass的一个实例,并且在第二个线程实例化SomeClass的第二个实例时正在初始化静态块中的值,那么静态块会发生什么?第二个线程是否忽略它,假设它已经初始化,即使第一个线程没有完成?还是会发生其他事情?
我试图使用.NET2.0 SerialPort的.BaseStream属性来进行异步读写(BeginWrite/EndWrite,BeginRead/EndRead).
我在这方面取得了一些成功,但过了一段时间后,我注意到(使用Process Explorer)应用程序正在使用的句柄逐渐增加,偶尔会增加一个额外的线程,这也增加了句柄数.
每次出现新线程时,上下文切换速率也会增加.
应用程序不断向PLC设备发送3个字节,并返回800个左右的字节,并以波特率57600进行.
最初的CSwitch Delta(再次来自Process Explorer)大约是2500,无论如何它似乎都很高.每次出现新线程时,此值都会增加,CPU负载也会相应增加.
我希望有人可能做过类似的事情,可以帮助我,甚至说'以上帝的名义,不要这样做.'
在下面的代码中,'this._stream'是从SerialPort.BaseStream获得的,而CommsResponse是我用作IAsyncresult状态对象的类.
这个代码对于我作为替代使用串口的TCP连接是常见的(我有一个CommsChannel基类,从它派生的串行和TCP通道)并且它没有这些问题所以我有理由充满希望CommsResponse类没有任何问题.
感激地收到任何评论.
/// <summary>
/// Write byte data to the channel.
/// </summary>
/// <param name="bytes">The byte array to write.</param>
private void Write(byte[] bytes)
{
try
{
// Write the data to the port asynchronously.
this._stream.BeginWrite(bytes, 0, bytes.Length, new AsyncCallback(this.WriteCallback), null);
}
catch (IOException ex)
{
// Do stuff.
}
catch (ObjectDisposedException ex)
{
// Do stuff.
}
}
/// <summary>
/// Asynchronous write callback operation.
/// </summary>
private …Run Code Online (Sandbox Code Playgroud) 我有一个双打数组,我想要最高值的索引.这些是我到目前为止提出的解决方案,但我认为必须有一个更优雅的解决方案.想法?
double[] score = new double[] { 12.2, 13.3, 5, 17.2, 2.2, 4.5 };
int topScoreIndex = score.Select((item, indx) => new {Item = item, Index = indx}).OrderByDescending(x => x.Item).Select(x => x.Index).First();
topScoreIndex = score.Select((item, indx) => new {Item = item, Index = indx}).OrderBy(x => x.Item).Select(x => x.Index).Last();
double maxVal = score.Max();
topScoreIndex = score.Select((item, indx) => new {Item = item, Index = indx}).Where(x => x.Item == maxVal).Select(x => x.Index).Single();
Run Code Online (Sandbox Code Playgroud) 根据ARB_geometry_shader4,可以使用几何着色器和连接到帧缓冲对象的立方体贴图将场景渲染到立方体贴图的6个面上.我想用这种方式创建一个阴影贴图.但是,我似乎无法解决冲突:
因此,当我想渲染到立方体贴图时,看起来我无法使用任何深度测试.或者我到底错过了什么?
编辑:看起来更新的Nvidia驱动程序(180.48)支持深度立方体贴图.
c# ×2
java ×2
.net ×1
asynchronous ×1
delphi ×1
delphi-2007 ×1
fbo ×1
glsl ×1
heap ×1
javascript ×1
jmx ×1
linq ×1
logging ×1
logoff ×1
memory ×1
opengl ×1
operation ×1
scripting ×1
serial-port ×1
static ×1
stream ×1
treeview ×1
treeviewitem ×1
wpf ×1