我使用Winforms ListBox作为一个小事件列表,并希望填充它以便最后一个事件(底部)可见.该SelectionMode设置为none.用户可以滚动列表,但我希望它开始滚动到最后.
看着缺少的东西像支持ScrollIntoView,EnsureVisible,我假设我将需要创建一个从Control继承的自定义控制; 但是我不知道该怎么做.
一些指针?
我正在寻找一种有效的方法来实现Windows窗体应用程序的日志窗口.在过去,我已经使用TextBox和RichTextBox实现了几个,但我仍然不完全满意这个功能.
此日志旨在向用户提供各种事件的近期历史记录,主要用于数据收集应用程序,其中可能会对特定事务的完成方式感到好奇.在这种情况下,日志不必是永久性的,也不必保存到文件中.
首先,一些提出的要求:
到目前为止我一直用来编写和修剪日志:
我使用以下代码(我从其他线程调用):
// rtbLog is a RichTextBox
// _MaxLines is an int
public void AppendLog(string s, Color c, bool bNewLine)
{
if (rtbLog.InvokeRequired)
{
object[] args = { s, c, bNewLine };
rtbLog.Invoke(new AppendLogDel(AppendLog), args);
return;
}
try
{
rtbLog.SelectionColor = c;
rtbLog.AppendText(s);
if (bNewLine) rtbLog.AppendText(Environment.NewLine);
TrimLog();
rtbLog.SelectionStart = rtbLog.TextLength;
rtbLog.ScrollToCaret();
rtbLog.Update();
}
catch (Exception exc)
{
// exception handling
}
}
private void TrimLog()
{
try
{
// Extra …Run Code Online (Sandbox Code Playgroud) 我对这件事很好奇......见例子:
switch(x)
{
case(a):
{
//do stuff
}
break;
case(b):
//do stuff
break;
}
Run Code Online (Sandbox Code Playgroud)
我的一生都像case b那样做了,但是因为C#允许我使用它,而Visual Studio允许我崩溃那个东西,我很好奇 - 案例a(带括号)和案例b之间的真正区别是什么?
例如,如果我有"scissors"变量,并想知道所有出现的字母的位置"s",它应该打印出来1, 4, 5, 8
如何以最有效的方式在JavaScript中执行此操作?我不认为循环整体是非常有效的
我知道还有另一个问题确实存在同样的问题,但是我通过了所有这些答案,没有人帮助过我.:((这是问题.)
我刚刚创建了一个新的ASP.NET MVC项目,并在解决方案中加入了一些'.dll'.现在,当我尝试构建项目时,我在5个库中的3个库中收到如下所示的错误消息.
Error CS0006 Metadata file 'C:\Users\...\source\Database\bin\Debug\DataAccessLayer.dll' could not be found Logic C:\Users\...\source\Logic\CSC 1 Active
Error CS0006 Metadata file 'C:\Users\...\source\Logic\bin\Debug\Logic.dll' could not be found PTS2-MVC C:\Users\...\source\PTS2-MVC\CSC 1 Active
Error CS0006 Metadata file 'C:\Users\...\source\PTS2-MVC\bin\PTS2-MVC.dll' could not be found PTS2-MVC.Tests C:\Users\...\source\PTS2-MVC.Tests\CSC 1 Active
Run Code Online (Sandbox Code Playgroud)
当我转到该.dll的bin\debug文件夹时,我看到它是空的,而另一个.dll我没有收到错误消息,不是空的.但我无法解决这个问题或者我为实现这一目标所做的工作.
最常见的回答是去性质的的解决方案,去配置和取消 - > 应用 - > 查询和申请了,但没有奏效
二进制数系统中负数表示中2的补码优于1的补码有什么优势?它如何影响二进制系统中存储在某个位数表示中的值的范围?
如何DoubleBuffered在遭受闪烁的表单上设置控件的受保护属性?
我相信经过长时间的研究和搜索,我发现我想做的事情可能更好,通过建立一个异步连接并在所需的超时后终止它......但我会继续问,无论如何!
快速代码片段:
HttpWebRequest webReq = (HttpWebRequest)HttpWebRequest.Create(url);
webReq.Timeout = 5000;
HttpWebResponse response = (HttpWebResponse)webReq.GetResponse();
// this takes ~20+ sec on servers that aren't on the proper port, etc.
Run Code Online (Sandbox Code Playgroud)
我有一个HttpWebRequest多线程应用程序中的方法,我连接到大量的公司Web服务器.在服务器没有响应的情况下HttpWebRequest.GetResponse(),即使我指定的超时仅为5秒,大约需要20秒才能超时.为了定期通过服务器,我想跳过连接时间超过5秒的服务器.
所以问题是:"是否有一种简单的方法来指定/减少WebRequest或HttpWebRequest的连接超时?"
摘要:
我定期在一个我似乎无法调试的应用程序上获得.NET致命执行引擎错误.出现的对话框仅提供关闭程序或将有关错误的信息发送给Microsoft.我已经尝试查看更详细的信息,但我不知道如何使用它.
错误:
该错误在应用程序下的事件查看器中可见,如下所示:
.NET运行时版本2.0.50727.3607 - 致命执行引擎错误(7A09795E)(80131506)
运行它的计算机是Windows XP Professional SP 3.(Intel Core2Quad Q6600 2.4GHz w/2.0 GB RAM)其他基于.NET的项目缺少多线程下载(见下文)似乎运行得很好.
应用:
该应用程序使用VS2008在C#/ .NET 3.5中编写,并通过安装项目安装.
该应用程序是多线程的,使用System.Net.HttpWebRequest及其方法从多个Web服务器下载数据.我已经确定.NET错误与线程或HttpWebRequest有关,但由于这个特殊错误似乎无法调试,因此我无法接近.
我尝试过处理多个级别的错误,包括Program.cs中的以下内容:
// handle UI thread exceptions
Application.ThreadException += Application_ThreadException;
// handle non-UI thread exceptions
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// force all windows forms errors to go through our handler
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
Run Code Online (Sandbox Code Playgroud)
更多笔记和我尝试过的...
题:
我可以采取哪些步骤来排除或调试此类错误?内存转储等似乎是下一步,但我没有经验解释它们.也许在代码中我可以做更多的事情来尝试捕获错误...如果"致命执行引擎错误"提供更多信息会很好,但互联网搜索只告诉我这是很多常见错误与.NET相关的项目.
我有一个包含存储为strings(VARCHAR)的纬度和经度值的表,我想将其转换为FLOAT (10,6).
但是,似乎没有一种直接的方法来使用CAST()或执行此操作CONVERT().
如何轻松转换这些列?这是一次性转换.