C#学习及与delphi的比较(二)
C#的ToolTip(delphi叫Hint)机制非常怪,不是像delphi的元件一样,每个TControl有一个Hint属性,C#有一个ToolTip元件,当把这个元件从工具箱拉到form上后,选中form上的任何control元件,在属性窗体(Object Inspector)上就会多出一个属性“toolTip1上的ToolTip”,如果多拉几个ToolTip元件到form上,就会多出现几个这样的属性“toolTip2上的ToolTip”,“toolTip3上的ToolTip”.......怪异,实在是怪异,不知道叫什么设计模式。查看ToolTip的函数,有两个GetTooTip(Control AControl),SetTooTip(Control AControl,string AToolTip),感觉TooTip元件就是一个Dictionary,但是没有属性来知道某个ToolTip元件为多少个Control设定了ToolTip字串。
另一个奇怪的是,ToolStripStatusLabel/ToolStripDropDownButton等元件比较特殊,他们却有一个ToolTipText属性,他们实现Hint的机制又不靠ToolTip元件。
相关文档:
★1. 使用QueryString变量
QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子:
a.aspx的C#代码
private void B ......
在Delphi中的Record类型中,与之C语言对应的即是结构体类型(struct
),也可能是为了符合C语言或C++程序员的习惯,对于它在Delphi中的应用存在的一些问题进行初步的说明。在Delphi中的记录体类型有两种方式定义
Type
RecTest = record (packed
)
ID :integer; ......
Delphi的VCL框架在创建应用时TApplication是一个自动创建的隐藏窗口,其它创建的窗口是自动以该窗口为窗口,这就导致创始的主窗口在任务栏的系统菜单只有三项,只要在主窗口的Create事件中将系统菜单用Application的系统菜单替换,并将SysCommand消息转发到主窗口就正常了。
unit Unit1;
interface
uses
Windows ......
一、后台(.cs文件)方法:
public string GetString(string name)
{
return ("Hello " + name);
}
&n ......
刚开始很不习惯c#的风格,哎,先入为主啊,delphi习惯了,{}代替begin/end太扎眼。
属性方法的宣告和代码在一起,没有像delphi分interface/implementation,感觉太乱,都不知道一个class到底有几个方法。
每个属性和方法前面都要单独写private/protected/public,老天,c#是delphi之父设计的揶,怎么不学delphi写一个就行 ......