小编Pav*_*lov的帖子

在C#中如何收集程序崩溃的堆栈跟踪

我是C#的新手.我正在编写一个基于桌面的小型应用程序,我需要在应用程序中使用此功能.

如果应用程序随时崩溃,应用程序应该有最后的机会收集堆栈跟踪并将其发回给我...

请告诉我这方面的指示.

我是否需要尝试捕获覆盖主应用程序的入口点?或者在C#应用程序中处理此类事情的最佳方法是什么.

谢谢,

.net c# error-handling winforms

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

为什么在IE 11中Selenium WebDriver的SendKeys上不会触发React的onChange事件?

我们有一个相对简单的React组件,其中包含一个input元素:

export class MyInput extends Component {
  componentDidMount() {
    function log(e) {
      console.log(`Event: ${e.type}, isTrusted: ${e.isTrusted}, input value: ${e.target.value}`, e);
    }

    this.rawInput.addEventListener("change", log);
    this.rawInput.addEventListener("input", log);
  }

  onChanged(e) {
    console.log("raw-input.onChanged: e.target.value", e.target.value);

    this.props.onChanged(e.target.value);
  }

  render() {
    return (
      <div className="my-class">
        <input
          value={this.props.value}
          onChange={this.onChanged.bind(this)}
          ref={(input) => { this.rawInput = input; }}
          />
      </div>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

基本上,这只是一个稍微包装的input元素,而最上面添加的日志记录则用于调试目的。

它可以正常处理键入,也可以SendKeys在Chrome,Firefox和IE 11(假设WebDriver EnableNativeEventstrue)的Selenium WebDriver下处理。

但是,当通过WebDriver在Internet Explorer 11中运行并使用时EnableNativeEvents = false,将onChanged不会触发该事件SendKeys。最奇怪的input …

selenium internet-explorer selenium-webdriver internet-explorer-11 reactjs

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

代码首先导致所需关系是可选的?

public class Client
{
    public Int32 ClientID { get; set; }

    public virtual ICollection<Inquiry> InquiryManufacturers { get; set; }
    public virtual ICollection<Product> Products { get; set; }
    public virtual ICollection<Inquiry> InquiryRetailers { get; set; }
}

public class Product
{
    public Int32 ProductID { get; set; }

    public Int32 ClientID { get; set; }
    public virtual Client Client { get; set; }

    public virtual ICollection<Inquiry> Inquiries { get; set; }
}

public class Inquiry
{
    public Int32 InquiryID { get; …
Run Code Online (Sandbox Code Playgroud)

c# poco code-first cascading-deletes ef-code-first

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

有没有办法关闭git冲突解决方案?

有没有办法在将文件输入3向合并工具之前完全关闭git尝试解决冲突?

我的意思是那些线:

<<<<<<< Temporary merge branch 1
...
=======
...
>>>>>>> Temporary merge branch 2
Run Code Online (Sandbox Code Playgroud)

它将它们和分支更改添加到基本文件中,然后将其提供给kdiff3,后者完全疯了,显示出奇怪的冲突.

我想简单地修改基本修订版.

到目前为止,我只找到了选项

merge.conflictstyle
Run Code Online (Sandbox Code Playgroud)

但它似乎没有选择关闭这些线.

除了编写一个会剥离线条的预处理器之外,还有什么方法吗?

UPDATE

我会在这里解释一下我不喜欢的东西.

问题是,当git启动kdiff3时,BASE修订版包含类似的行

X1
<<<<<<< Temporary merge branch 1
A
=======
B
>>>>>>> Temporary merge branch 2
X2
Run Code Online (Sandbox Code Playgroud)

LOCAL修订版包含:

X1
A
X2
Run Code Online (Sandbox Code Playgroud)

REMOTE版本包含:

X1
B
X2
Run Code Online (Sandbox Code Playgroud)

where X1X2是3个文件之间的一些常见代码行.

现在,kdiff3在这里发出冲突信号.

如果我抢了文件,将它们复制到一个单独的文件夹,删除之间的一切<>,kdiff3更好的方式合并文件,有时会自动.

从我在http://www.gitguys.com/topics/merging-with-a-gui/上可以看到,看起来它实际上不应该显示BASE修订版中的行.但确实如此.我如何解决它?

Git配置

git config -l 给出这个:

core.symlinks=false
core.autocrlf=false
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
pack.packsizelimit=2g
help.format=html
http.sslcainfo=/bin/curl-ca-bundle.crt
sendemail.smtpserver=/bin/msmtp.exe
diff.astextplain.textconv=astextplain
rebase.autosquash=true
user.name=Pavel Gatilov …
Run Code Online (Sandbox Code Playgroud)

git

6
推荐指数
2
解决办法
2342
查看次数

如何在WPF应用程序中设置TextBlock和Label的默认颜色,字体系列和字体大小?

编辑:我想这个问题没有说清楚.它实际上由4个独立的组成:

  1. TextBlock如果客户端应用程序不以编程方式或通过xaml提供任何样式,如何获取其默认颜色?
  2. 如何Label获得其默认颜色?
  3. TextBlock如果客户端应用程序不以编程方式或通过xaml提供任何样式,如何获取其默认字体大小和字体系列?
  4. 如何Label获得其默认字体大小和字体系列?

顺便说一下,问题不在于如何更改或定义a TextBlock或a 的颜色/字体大小/字体系列的样式Label,尽管它们在某种程度上是相关的.我想我已经知道了#2的答案,这是LabelSystemColors.ControlTextBrushKey得到它的颜色,并通过覆盖ConrolTextBrushKey如下:

<SolidColorBrush x:Key="{x:Static SystemColors.ControlTextBrushKey}" Color="Red"/>
Run Code Online (Sandbox Code Playgroud)

你可以"全局"改变Labels的颜色.经过一番研究,我想我也找到了#1的答案是:TextBlock继承从含有其它的前景色Window,在默认情况下得到的Foreground,从颜色SystemColors.WindowTextBrushKey.通过为WindowTextBrush定义颜色,如下所示:

<Window.Resources>
    <SolidColorBrush x:Key="{x:Static SystemColors.WindowTextBrushKey}" 
                     Color="Yellow"/>
</Window.Resources>
Run Code Online (Sandbox Code Playgroud)

您可以更改TextBlock内部s 的"前景"颜色Window.

问题#3和#4对我来说仍然是难题,但我假设它们与SystemFonts有关.

希望这是有道理的.我真的很想知道答案,因为他们一直在困扰我.非常感谢!

以下是原帖:


如果您查看LabelWindows附带的主题中的a样式(例如"aero.normalcolor.xaml"),您可以找到

<Setter Property="Foreground" 
        Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
Run Code Online (Sandbox Code Playgroud)

哪个设置了颜色Label.但是FontSize在样式中没有指定属性的位置,我认为这与SystemFonts有关.对于a TextBlock,它看起来更神秘,因为它在"aero.normalcolor.xaml"中的样式只有4行:

<Style x:Key="{x:Type TextBlock}"
                 TargetType="{x:Type TextBlock}">
        <Setter …
Run Code Online (Sandbox Code Playgroud)

windows wpf label themes textblock

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

C#在单独的线程中填写进度条

我有一个进度条,并希望使用一个单独的线程填充它,因为主线程在循环中被暂停几秒钟.我正在使用计时器,以便进度条在一定时间内填满.

线程创建:

private void PlayButton_Click(object sender, EventArgs e)
        {
            progressBar1.Value = 0;
            int playTime = getPlayTime();
            int progressInterval = playTime / 100;
            Thread progressThread = new Thread(barfiller=>fillBar(progressInterval));
            progressThread.Start();

            //Loops through the collection and plays each note one after the other
            foreach (MusicNote music in this.staff.Notes)
            {
                music.Play(music.Dur);
                Thread.Sleep(music.getInterval(music.Dur));
            }
            progressThread.Abort();
        }
Run Code Online (Sandbox Code Playgroud)

按原样,进度条没有任何反应,但是如果我在主线程中调用fillbar(),它就可以工作但是在for循环完成之后填充它,而不是在for循环之前/期间,即使我在之前调用fillbar()环.

线程方法:

private void fillBar(int progressInterval)
        {
            progressTimer = new System.Windows.Forms.Timer();
            progressTimer.Tick += new EventHandler(clockTick);
            progressTimer.Interval = progressInterval; //How fast every percentage point of completion needs to be added …
Run Code Online (Sandbox Code Playgroud)

c# for-loop winforms progress-bar

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