问题列表 - 第4169页

如何在TreeView中选择Next/Previous TreeViewItem?

我有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)

将上一个/下一个项目设置为选中的最简单/最优雅的方法是什么?

谢谢!

.net wpf treeview treeviewitem

2
推荐指数
1
解决办法
5905
查看次数

Rails记录器格式字符串配置

如何配置rails logger以另一种格式输出其日志字符串?我想得到一些更具信息性的东西:

[日志级别] [时间] [消息]

调试:01-20-2008 13:11:03.00:调用方法

当我想在我的development.log中找到仅来自某个日志级别的消息(例如debug)时,这对我有用.

logging ruby-on-rails

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

隐含字符串比较,0 ='',但1 ='1'

我正在调试一些东西并在JavaScript中发现了一些奇怪之处:

alert(1=='') ==> false
alert(0=='') ==> true
alert(-1=='') ==> false
Run Code Online (Sandbox Code Playgroud)

隐含的字符串比较0应该为'0'是有意义的.对于所有非零值都是如此,但为什么不为零呢?

javascript

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

在Delphi中为表单上的大量控件切换控件类型(但不是名称)

我需要将表单上特定类型的每个控件切换为不同的类型,同时保持与每个控件关联的名称和代码.

例如,假设我需要将十几个或更多TEdit字段切换到TSpinEdits.如何以最小的努力在Delphi 2007中做到这一点?

delphi delphi-2007

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

使用jmx和java 5以编程方式获取堆信息

我知道使用jconsole附加到java进程以获取内存信息.具体来说,我是以编程方式获取有关各种内存池的信息,因此我可以将其与监控应用程序联系起来.

谢谢!

java memory heap jmx

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

注销脚本以更改用户

使用Windows 2003,我正在寻找一种方法来创建一个"注销脚本",它将继续当前的注销,然后立即登录另一个用户.因此,"UserA"注销.脚本触发登录"UserB".

这是我们编写"shell"的计算机应用程序升级的一部分; 类似于自助服务终端应用程序.对于升级,我们需要以"管理员"身份登录,然后在升级完成后,注销"管理员"并以"sample_user"身份登录.我们希望在不重新启动的情况下完成此任务.

注意,我不想要一个会启动注销的脚本(即"关闭").我正在寻找一个将在用户注销时运行的脚本(通过组策略设置).如上所述,脚本应该记录不同的用户.

谢谢.

scripting logoff windows-server-2003

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

Java中静态块的线程安全性

假设我有一些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的第二个实例时正在初始化静态块中的值,那么静态块会发生什么?第二个线程是否忽略它,假设它已经初始化,即使第一个线程没有完成?还是会发生其他事情?

java static multithreading

40
推荐指数
2
解决办法
1万
查看次数

如何正确使用.NET2.0串口.BaseStream进行异步操作

我试图使用.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)

c# asynchronous serial-port stream operation

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

如何使用LINQ获取数组中最高值的索引?

我有一个双打数组,我想要最高值的索引.这些是我到目前为止提出的解决方案,但我认为必须有一个更优雅的解决方案.想法?

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)

c# linq

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

渲染到立方体贴图

根据ARB_geometry_shader4,可以使用几何着色器和连接到帧缓冲对象的立方体贴图将场景渲染到立方体贴图的6个面上.我想用这种方式创建一个阴影贴图.但是,我似乎无法解决冲突:

  1. 我只能将GL_DEPTH_COMPONENT作为内部类型的纹理附加到GL_DEPTH_ATTACHMENT_EXT.
  2. 深度纹理只能是1D或2D.
  3. 如果我想附加立方体贴图,则所有其他附加纹理也必须是立方体贴图.

因此,当我想渲染到立方体贴图时,看起来我无法使用任何深度测试.或者我到底错过了什么?

编辑:看起来更新的Nvidia驱动程序(180.48)支持深度立方体贴图.

opengl fbo glsl

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