2007年1月的存档

  • 29
  • 1月

书上19.5节讲个性化配置,使用了Profile这么个东西。但这东西弄得我晕晕的:需要在web.config中手动加入(而且写的时候没有自动完成),又说还要数据库的配合,匿名用户还有特殊的处理方法…
再加上对于asp.net目前手上也没有什么其他的参考资料…
总之,晕了。

  • 28
  • 1月

今天在玩身份验证,用了那个asp.net的login控件,结果最后给玩郁闷了。改了一下网站结构,结果自己建的第一个用户死活也登录不进去了。

还有发现一个问题–login.aspx貌似只能放在站点的根目录下,否则LoginStatus就找不到登录页面?而且找不到修改这个指向的属性……

  • 28
  • 1月

玩ASP.NET时要记得打开SQL Server服务。很多时候即使你的网站并没有使用数据库,ASP.NET也会使用它。如:网站菜单中的那个ASP.NET配置。刚才因此浪费了我好长时间找为什么那个“安全”选项卡打不开。

  • 27
  • 1月

今天吃晚饭前终于把《C#入门经典》第Ⅱ部分 Windows编程 看完了。而且根据书上的提示,为我的LoveEditor做了一个非常像那么回事的Windows Installer安装程序。感觉…嘻嘻。
马上进入 Web 编程!

  • 26
  • 1月

使用DateTime对象的静态属性Now,获取一个表示当前时间的实例:
DateTime dt = DateTime.Now;

如果需要像23:46 2007-1-26这样的时间格式的话,自己用以下两个方法拼一下就可以了:
dt.ToShortTimeString()
dt.ToShortDateString()
应该很容易看明白是怎么回事的。

这个可是我自己发现的哦,至少到447页了,那本《C#入门经典》都没提这件事。

  • 26
  • 1月

书上的说明不是很好懂,自己研究了一下这个属性,自己重新描述一下它的使用方法

这个属性的作用说白了,就是负责子窗口和父窗口的菜单应该怎样合并。要知道,在多文档界面的应用程序中,为了界面的美观等因素,子窗口的菜单很多时候是被合并到父窗口之中的。

属性可选的值有以下几个:
Append:把子窗口的菜单直接移动到父窗口菜单中,并作为最后一项
Insert:把子窗口的菜单移动到父窗口中,插入到父窗口菜单中MergeIndex属性比它小的第一个菜单项之后。注:当子窗口该菜单项的MergeIndex为-1时,不进行插入,结果与MatchOnly一样。
MatchOnly:子窗口中的菜单保持原来的样子,不与父窗口菜单合并。
Remove:将父窗口中的对应菜单项删除(屏蔽掉,可以防止冲突),对应方法为,先匹配菜单项的Text属性,找到第一个相同的,直接屏蔽;若没有Text相同的项,则匹配MergeIndex,屏蔽找到的第一个相同项。
Replace:将父窗口中对应的菜单项替换为子菜单中的对应项,对应方法与Remove属性相同。

  • 25
  • 1月

在实践《C#入门经典》中Windows编程部分,使用代码控制RichTextBox中SelectionFont属性时有这样的代码:
Font oldFont, newFont;
// Get the font that is being used in the selected text
oldFont = this.richTextBoxText.SelectionFont;

// If the font is using bold style now, we should remove the formatting
if (oldFont.Italic)
{
newFont = new Font(oldFont, oldFont.Style & ~FontStyle.Italic);
}
else
{
newFont = new Font(oldFont, oldFont.Style | FontStyle.Italic);
}
this.richTextBoxText.SelectionFont = newFont;
this.richTextBoxText.Focus();
用来修改选中文本的字体属性,但实际调试时发现,在某些时候选中文本(尤其是对于一些被复制进来的文本)的SelectionFont;会为null,这样传入newFont构造函数中的oldFont也为null,造成调试失败。而书上并没有提及此事。

目前我采取的方法是将oldFont赋值那句改为:
// Get the font that is being used in the selected text
oldFont = this.richTextBoxText.SelectionFont == null ? this.richTextBoxText.Font : this.richTextBoxText.SelectionFont;
在SelectionFont为空时直接采用RichTextBox的Font属性,目前看来还算解决了问题。

难道作者没有发现这个问题???

  • 25
  • 1月

一句话,非常简单,怕自己忘了,特别记下来:
System.Diagnostics.Process.Start(CommandLineText);

  • 24
  • 1月

使用Validating事件进行有输入有效性验证的好处:

控件会在焦点试图离开控件时触发Validating事件,可以在事件处理程 序中进行有效性验证。这一部分使用LostFocus事件也可以实现,但Validating有个好处,当验证失败时,只需简单地将参数 CancelEventArgs e,的Cancel属性设为true,即取消 Validating 事件,并导致焦点返回到控件。实际的结果是,除非数据有效,否则用户将无法退出该控件。

不过这样也会有一个副作用:
当数据无效时,使用关闭窗体的任何常规方法都将无法关闭包含这个控件的窗体:
·单击“关闭”框
·通过右击标题栏时显示的“系统”菜单
·以编程方式调用 Close 方法

  • 24
  • 1月

private void textBoxAge_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8)
{
e.Handled = true; // Remove the charactor
}
}
只要将其加入到TextBox的KeyPress事件订阅之中即可(最好顺便设置一下TextBox的MaxLength属性)
其实现原理是当输入的字符不是数字且不是退格符(ASCII:8)时,告诉控件这个字符已经被处理过了,控件就不会再理会这个字符。

所有标签:.net Ajax Java javascript Linux map MySQL RSS TD-SCDMA Ubuntu vim web Win7 乱码 基础知识 备份 奥运会 希望泉 性能 缓存 编程