在问题#56107的回答中,Erlend提供了这个示例c#代码:
using mshtml;
...
object[] oPageText = { html };
HTMLDocument doc = new HTMLDocumentClass();
IHTMLDocument2 doc2 = (IHTMLDocument2)doc;
doc2.write(oPageText);
Run Code Online (Sandbox Code Playgroud)
我想在VB.NET中使用mshtml,但IDE无法识别:
Imports mshtml
Run Code Online (Sandbox Code Playgroud)
在VB.NET中使用MSHTML需要采取哪些额外步骤?
DataGridView.IsCurrentRowDirtytrue在我提交数据库更改后仍然存在.我想将它设置为当它失去焦点时它false不会触发RowValidating.
我有一个DataGridView必然的BindingList<T>.我处理CellEndEdit事件并保存对数据库的更改.保存这些更改之后我想DataGridView.IsCurrentRowDirty设置true,因为该行中的所有单元格都是最新的; 然而,它被设定为false.
这会给我带来问题,因为当行失去焦点时它会触发RowValidating,我会处理并验证所有三个单元格.所以即使所有单元格都有效且没有一个是脏的,它仍然会验证它们.那是浪费.
这是我的一个例子:
void dataGridView_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
// Ignore cell if it's not dirty
if (dataGridView.isCurrentCellDirty)
return;
// Validate current cell.
}
void dataGridView_RowValidating(object sender, DataGridViewCellCancelEventArgs e)
{
// Ignore Row if it's not dirty
if (!dataGridView.IsCurrentRowDirty)
return;
// Validate all cells in the current row.
}
void dataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
// Validate all …Run Code Online (Sandbox Code Playgroud) 我们有大约 7 个运行 .NET Windows 服务的应用程序服务器,它们对单个 sql server 2005 队列表执行 ping 操作,并以固定时间间隔获取固定数量的记录进行处理。要处理的记录量和提取之间的时间量都是可配置的,最初设置为 100 秒和 30 秒。
目前,我的队列表有一个 int status 列,可以是“就绪、处理、完成、错误”。获取记录的过程有一个sql事务,事务内有以下代码:
1)将x条记录提取到临时表中,其中状态为“Ready”。select 使用了 Holdlock 提示
2) 将队列表中这些记录的状态更新为“正在处理”
.NET 服务执行一些处理,每个记录可能需要几秒钟甚至几分钟的时间。每个记录调用另一个过程,它只是将状态更新为“完成”。更新过程没有事务,因为我在这里依靠隐式事务作为更新子句的一部分。
我不知道这方面的流量例外情况,但估计每天会低于 10k 条记录。
这是处理这种情况的最佳方法吗?如果是这样,我是否遗漏了任何细节,例如这里或那里的提示?
谢谢!戴夫
我想过滤一个列表 FindAll
如果我写:
.FindAll(
p => p.Field == Value &&
p.otherObjList.Contains(otherObj));
Run Code Online (Sandbox Code Playgroud)
没关系,但是如果我写的话
.FindAll(
p => p.Field == Value &&
p.otherObjList.Contains(
q => q.Field1 == Value1 &&
q.Field2 == Value2));
Run Code Online (Sandbox Code Playgroud)
我得到C#语法错误消息:未知方法FindAll(?)的... otherObjList
我无法准确定义otherObj,因为我只知道两个字段Field1和Field2的值.
我做错了什么?在这种情况下我该怎么办?
是否可以访问代码中添加到项目中的数据连接?
我知道可以访问使用可视化设计器创建的DataSet,但我只想访问连接.
编辑:
可以通过工具>连接到数据库将数据连接添加到VS2008中的项目.
我想在我的代码中访问此连接作为对象,这样我就不必自己指定连接字符串.
使用Compact Framework时从URL获取图像的最佳方法是什么以及如何?
我用Google搜索,但找不到任何合适的答案.
我找到的东西就是这个(用它做了一个函数):
public Bitmap getImageFromUrl()
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(this.SImageUrl);
request.Timeout = 5000; // 5 seconds in milliseconds
request.ReadWriteTimeout = 20000; // allow up to 20 seconds to elapse
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream ms = response.GetResponseStream();
Bitmap imageFromUrl;
using (MemoryStream ms2 = new MemoryStream())
{
int bytes = 0;
byte[] temp = new byte[4096];
while ((bytes = ms.Read(temp, 0, temp.Length)) != 0)
ms2.Write(temp, 0, bytes);
imageFromUrl = new Bitmap(ms2);
}
return imageFromUrl;
}
Run Code Online (Sandbox Code Playgroud)
但它不会在pictureBox中显示任何图像.有任何想法吗?
谢谢我提前
我正在编写代码,使用C#(使用Office.InterOp.Excel)将一些数据写入Excel文件.现在我必须从工作表中的10个列中选择两列,并在两者之间绘制图形.这必须仅使用C#完成.
有任何想法吗?我在网上找到的大多数例子都是固定数据值.如果数据值未事先知道怎么办?
我目前正在使用带有C#COM Interop的Excel 2007编写大约200个Excel电子表格.
不幸的是,我需要大约4分钟来写这200张纸 - 每张纸有大约1000行,8-10列.
我怎样才能加快速度?
我的代码基本上是这样的:
var xlApp = new Excel.Application();
xlApp.DisplayAlerts=false;
foreach (x in z) {
var wb = xlApp.Workbooks.add(XLWBATemplae.xlWBATWorksheet);
var ws = (Worksheet)wb.Worksheets[1];
//fill data into sheet
wb.SaveAs(fileName);
wbClose();
}
Run Code Online (Sandbox Code Playgroud)
澄清:我现在正在单独填写每个单元格
我会尝试一些你的建议,然后接受最好的解决方案.
在我的应用程序中,我想使用工具提示指向标签以引起用户注意:
toolTip.IsBalloon = true;
toolTip.Show("message", label1);
Run Code Online (Sandbox Code Playgroud)
问题是气球没有指向指定的标签.我该怎么办?
这是我的界面
public interface IWork
{
string GetIdentifierForItem(Information information);
}
Run Code Online (Sandbox Code Playgroud)
和我的班级
public class A : IWork
{
[ImportMany]
public IEnumerable<Lazy<IWindowType, IWindowTypeInfo>> WindowTypes { get; set; }
public string GetIdentifierForItem(Information information)
{
string identifier = null;
string name = information.TargetName;
// Iterating through the Windowtypes
// searching the 'Name' and then return its ID
foreach (var windowType in WindowTypes)
{
if (name == windowType.Metadata.Name)
{
identifier = windowType.Metadata.UniqueID;
break;
}
}
return identifier;
}
}
Run Code Online (Sandbox Code Playgroud)
问题:我想对方法进行单元测试GetIdentifierForItem
以下是我试图解决的问题 -
(1)创建一个模拟Lazy并设置它需要在属性获取时返回的值
var …
c# ×7
.net ×2
excel ×2
balloon-tip ×1
charts ×1
com-interop ×1
contains ×1
datagridview ×1
graph ×1
lambda ×1
linq ×1
locking ×1
mef ×1
moq ×1
mshtml ×1
performance ×1
settings ×1
sql-server ×1
t-sql ×1
tooltip ×1
unit-testing ×1
validation ×1
vb.net ×1
winforms ×1