我有一个我正在处理的文件管理器应用程序.这些文件通常为500MB到2GB.一切正常,但应用程序"停止响应"非常烦人.我想做的是逐字节或兆字节复制,每次读/写操作后都有一些Application.DoEvents().沿着这些方向,我不知道实际使用的类是什么,所以我只是想做些什么:)
private void CopyFile(string inFilename, string outFilename)
{
FileReader inReader(inFilename);
FileWriter outWriter(outFilename, FileMode.OpenOrCreate);
byte theByte;
while (theByte = inReader.ReadByte())
{
outWriter.WriteByte(theByte, WriteMode.Append);
UpdateProgressBar();
Application.DoEvents();
}
inReader.CloseFile();
outWriter.CloseFile();
}
Run Code Online (Sandbox Code Playgroud)
我知道这似乎应该是一件简单的事情,但是对于我的生活,我似乎无法找到任何一种不使用直接API调用或其他方式的例子.我必须在这里遗漏一些东西,所以如果有人能让我走在正确的轨道上,我真的很感激.
提前致谢!
我有一个想要创建的控件.这是我要完成的一个简单示例.
我希望控件包含一个按钮.
Button b = new Button();
b.Text = "Test";
b.Click += new EventHandler(b_Click);
this.Controls.Add(b);
Run Code Online (Sandbox Code Playgroud)
现在,控件呈现正常,按钮显示在页面上.我遇到的问题的核心是b_Click事件处理程序永远不会被触发.
protected void b_Click(object sender, EventArgs e)
{
throw new NotImplementedException();
}
Run Code Online (Sandbox Code Playgroud)
这里的任何帮助将不胜感激.我不想在这里使用用户控件纯粹是出于自私的原因,并希望将其完全封装在一个DLL中.
提前致谢.
编辑**
namespace ClassLibrary1
{
[DefaultProperty("Text")]
[ToolboxData("<{0}:WebCustomControl1 runat=server></{0}:WebCustomControl1>")]
public class WebCustomControl1 : WebControl
{
protected override void CreateChildControls()
{
Button b = new Button();
b.ID = "button";
b.Text = "Click Me";
b.Click += new EventHandler(b_Click);
this.Controls.Add(b);
base.CreateChildControls();
}
protected void b_Click(object sender, EventArgs e)
{
this.Controls.Add(new LiteralControl("<p>Click!</p>"));
}
}
}
Run Code Online (Sandbox Code Playgroud)
所以从评论中我试过这个.最简单的例子,仍然没有去.有什么东西我从根本上失踪了吗?
使用Google App Engine以及GQL和Python:
在我的数据存储区中,我有以下内容
class Thing(db.Model):
domain = db.StringProperty(required=True)
name = db.StringProperty()
...more...
Run Code Online (Sandbox Code Playgroud)
我有我的经纪人
currentThing = db.GqlQuery("SELECT * FROM Thing WHERE domain=:1 LIMIT 1",
"example.com")
Run Code Online (Sandbox Code Playgroud)
我知道这将在MOST返回一个东西,但我似乎无法找到一种方法来收集Thing对象中的那一件事而不经历一个对我来说似乎有点奇怪的循环过程.
我也尝试使用Thing.gql("WHERE domain=:1 LIMIT 1", "example.com")语法无济于事.他们似乎都回归了收藏品.
我来自.NET背景,不熟悉Python和App Engine,但我正在寻找类似于.FirstOrDefault()功能的东西.
我在寻找一个简单的方法来辨别,如果一个字符串包含另一个字符串的任何部分(是正则表达式,内置的功能我不知道,等...).例如:
string a = "unicorn";
string b = "cornholio";
string c = "ornament";
string d = "elephant";
if (a <comparison> b)
{
// match found ("corn" from 'unicorn' matched "corn" from 'cornholio')
}
if (a <comparison> c)
{
// match found ("orn" from 'unicorn' matched "orn" from 'ornament')
}
if (a <comparison> d)
{
// this will not match
}
Run Code Online (Sandbox Code Playgroud)
类似的东西if (a.ContainsAnyPartOf(b))太过希望了.
另外,我只能访问.NET 2.0.
提前致谢!