我正在编写一个Powershell cmdlet来列出来自TFS的更改集.我成功查询TFS并获取变更集的集合,但希望返回仅包含少量属性的简化对象.我可以这样使用Select-Object......
$changesets | Select-Object ChangeSetId, Owner, Comment
Run Code Online (Sandbox Code Playgroud)
我想要添加的最后一个属性是Changes属性,它是一组更改.我也希望简化这些对象.我正在尝试这个,但它不会返回我想要的东西......
$changesets | Select-Object `
ChangeSetId,
Owner,
Comment,
@{Name="Changes"; Expression={ $_.Changes | Select-Object ChangeType, ServerItem }}
Run Code Online (Sandbox Code Playgroud)
有没有办法处理嵌套集合Select-Object?
当我运行以下代码时,两个表单"挂起".任何想法为什么?
static void Main()
{
Form f1 = new Form();
f1.Show();
Form f2 = new Form();
f2.Show();
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud) 在我的表单中,我有四个按钮执行不同的任务.button.Text字段设置为&Next Project,因此N将加下划线.在表单的预览中,它显示N下划线.然而,当我运行我的程序时,文本显示没有下划线.
目前我有一个ListView(使用详细信息视图).我想实现这样的行为:当用户选择单个项目(日志条目)时,日志条目会扩展(从一行到多行),以提供有关发生的错误的更详细信息.
我的问题是:这可能吗?如果是这样,我可以使用一个很好的资源来帮助我吗?
编辑:
如果我HAVE使用WPF,那么我猜病态使用ElementHost的与控制.但是,我完全不知道如何设计/编码/使用WPF组件.有什么建议?
此代码以多种方式执行.当它由表单按钮执行时它工作(按钮启动一个线程,在循环中它调用这个方法=它工作).但是当我从表单中的BackgroundWorker调用该方法时,它不起作用.
使用以下代码:
private void resizeThreadSafe(int width, int height)
{
if (this.form.InvokeRequired)
{
this.form.Invoke(new DelegateSize(resizeThreadSafe),
new object[] { width, height });
}
this.form.Size = new Size(width, height); // problem occurs on this line
this.form.Location = new Point(0, 0); // dummy coordinate
}
Run Code Online (Sandbox Code Playgroud)
然后在包含this.form.Size = ...我的行上得到以下异常:
InvalidOperationException was unhandled
Cross-thread operation not valid: Control 'Form1' accessed from a thread other
than the thread it was created on.
Run Code Online (Sandbox Code Playgroud)
为什么?
我们正在构建一个ASP.NET应用程序(使用C#.net作为语言),并将在Windows Server 2003操作系统上托管,SQL Server 2008作为数据库.
我们计划在编写代码时实现最佳实践,将应用程序划分为逻辑块,服务等.
如果您有任何想法,请您指导我吗?
如果您还可以提供参考文档或Web引用(如果需要),那将会很棒.
非常感谢,
此致,Venkat.
当我单击按钮运行我的代码时,我的win表单会锁定并且我的进度条不会运行.我究竟做错了什么?
foreach (string barcount in idit)
{
barcountmax++;
}
label2.Text = "Total entries: " + barcountmax;
progressBar1.Minimum = 0;
progressBar1.Maximum = barcountmax;
...
foreach (string ids in idit)
{
string[] splitids = ids.Split('|');
string fixcommacrap = "";
barmovement++;
progressBar1.Value = barmovement;
}
Run Code Online (Sandbox Code Playgroud)
我的Winform只是锁定和冻结,我无法看到进度条.