Pro visual c++cli and .net 2.0 platform2 学习笔记(12第九章到第十二章)

    技术2022-05-11  123

    第九章 基本的windows forms应用程序

    [STAThreadAttribute]single-threaded apartment。

    apartment state COM中的概念,.net不用apartement线程,但为了safe,apartment state被设为single-threaded apartment,以防一个COM对象被包装后应用于程序中。

    windows消息转换为.net事件。

    代码或IDE的属性窗口中的改变都会立刻反映到对方。

    注意:在InitializeComponent()中的改变要小心,会使IDE不能正常工作。

    小技巧:不同于缺省值的属性,IDE中被显示为加粗

    .net设计好了许多委托和事件源类,程序员设计事件接受类。

    IDE中可以对不同的事件使用相同的事件处理器:直接在属性菜单中选择//前提是委托的签名相同

    TextBoxBase抽象类可以用来自定义字处理程序。.net提供的三个控件TextBox, MaskedTextBox, RichTextBox。

    word wrap自动换行

    /*这章程序的模式:在.h文件中写代码,.cpp不变。用//分隔不同的控件属性改变。private事件处理器,不同控件或组件的事件处理代码都在同一个Form类中,和MFC不一样,MFC在相应的控件类的代码文件中编写消息处理,这样会不会很乱呢??疑问中*/

    //winform编程也没有源代码。不向MFC

    第十章 高级windows forms应用程序

    ToolStrip, StatusStrip, MenuStrip.

    ErrorProvider

    NotifyIcon

    第十一章 GDI+作图

    所有的GDI+功能都在System.Drawing.dll中。

    Paint事件处理器和OnPaint虚函数。事件处理器在IDE中双击即可,事件的实现消耗要大一些;虚函数速度快一些。

    Graphics没有构造函数,获得Graphics实例的几种方法。

    DoubleBuffer

    第十二章 ADO.net和数据库开发

    连接:SqlConnection

    查询:SqlCommand, OleDbCommand, OdbcCommand,OracleCommand

    CommandType:TEXT,Procedure

    Procedure(Parameters->Add;cmd->Parameters["@LastName"]->Value = Name;)

    CommandText

    SqlDataReader

    ExecuteReader

    while(reader->Read())

    {

    Console::WriteLine(reader["StoryID"]);//这里就是属性index呀?确实简洁。不过也可以用Getxxx()

    }

    修改数据库内容:

    ExecuteNonQuery()

    ExecuteScalar()//返回一个对象,通常是数据库中的计数或者是求和。

    事务处理:

    try{

    SqlTransaction:connection->BeginTransaction;transaction->Commit();

    }

    catch (Exception ^e)

    {

    transaction->Rollback("AuthorTransaction");

    }

    disconnected ADO.NET

    被下载到本地内存的数据库。

    XML格式传输,可以自由的通过防火墙;避免了以前的system-level COM marshalling requests的问题。//疑问?

    ADO.NET的核心类:

    手工建立数据库程序的步骤:

    1. Create a SqlConnection.

    2. Create a SqlDataAdaptor.

    3. Implement a SelectCommand property.

    4. Implement an InsertCommand property (optional).

    5. Implement an UpdateCommand property (optional).

    6. Implement a DeleteCommand property (optional).

    7. Create a DataSet.

    8. Populate (fill) the DataSet.

    IDE开发数据库程序步骤:

    NewItem-DataSet

    DataGridView

     

    最新回复(0)