Window form “window explorer” emulator


Hướng dẫn sử dụng listview và treeview trên window form

Trong bài này tổi hướng dẫn các bạn sử dụng form để liệt kê hệ thống tập tin và thư mục trên một máy tính

  1. Sử dụng listview hiển thị danh sách tập tin
  2. Sử dụng treeview hiển thị cây thư mục
  3. Sử dụng lớp Directory, Path và File của C# để dò tim hệ thống tập tin thư mục

Hình demo

ListView TreeView Window Explorer
ListView TreeView Window Explorer

Đăng ký sự kiện chọn node trên cây thư mục

this.treeView1.BeforeSelect += new System.Windows.Forms.TreeViewCancelEventHandler(this.treeView1_BeforeSelect);

Sử dụng sự kiện load của form để lấy ds ổ đĩa

Sử dụng sự kiện BeforeSelect của treeView để gán thư mục con và file vào listview

private void treeView1_BeforeSelect(object sender, TreeViewCancelEventArgs e)
{
	try
	{
		if (e.Node.Text == "My Computer") return;

		// thêm vào treeview
		e.Node.Nodes.Clear();
		string fullpath = e.Node.Text;
		TreeNode _node = e.Node.Parent;
		while (_node.Parent != null)
		{
			if (_node.Parent.Text == "My Computer")
			{
				fullpath = _node.Text + fullpath;
				break;
			}
			else
				fullpath = _node.Text + "\\" + fullpath;

			_node = _node.Parent;
		}

		string[] folders = Directory.GetDirectories(fullpath);
		foreach (string var in folders)
		{
			string[] fs = var.Split('\\');
			// Thêm node vào treeview
			TreeNode node = new TreeNode(fs[fs.Length - 1]);
			node.Text = fs[fs.Length - 1];
			node.ImageIndex = 1;
			node.SelectedImageIndex = 2;

			e.Node.Nodes.Add(node);
		}

		// thêm vào view
		listView1.Items.Clear();
		string[] files = Directory.GetFiles(fullpath);
		foreach (string var in files)
		{
			// thêm vào view
			ListViewItem item = new ListViewItem(Path.GetFileName(var), 0);
			item.SubItems.Add(File.GetCreationTime(var).ToLongDateString());
			string[] type = var.Split('.');
			item.SubItems.Add(type[type.Length - 1] + " file type");

			listView1.Items.Add(item);
		}
	}
	catch
	{
	}
}

Download source ở đây

c# – cấp quyền Administrator cho ứng dụng khi chạy


Trong quá trình đóng gói ứng dụng bằng công nghệ ClickOne thì việc sử dụng trong file app.manifest là thể được do ClickOne không hỗ trợ.
Trong trương hợp này đòi hỏi phải sử dụng code gọi lệnh của window shell để cấp quyền cho process hiện tại.

đoạn code mẫu sau đây sẽ giúp chúng ta thực hiện công việc trên.

static class Program
{
    [STAThread]
    static void Main()
    {
        // Check if user is NOT admin
        if (!IsRunningAsAdministrator())
        {
            // Mở thêm chương trình hiện tại
            ProcessStartInfo processStartInfo = new ProcessStartInfo(Assembly.GetEntryAssembly().CodeBase);
            // chạy proccess với quyền Administrator chạy bằng lệnh shell của window
            // ProcessStartInfo.Verb để chạy “runas administrator”
            processStartInfo.UseShellExecute = true;
            processStartInfo.Verb = "runas";
            // Chạy process đã cấp quyền
            Process.Start(processStartInfo);
            // đóng ứng dụng cũ
            System.Windows.Forms.Application.Exit();
        }
    }

    ///
<summary>
    /// Kiểm tra tài khoản hiện tại có quyền Adnistrator khôg
    /// </summary>

    /// <returns>True nếu có quyền Administrator</returns>
    public static bool IsRunningAsAdministrator()
    {
        // Lấy tài khoản hiện tại
        WindowsIdentity windowsIdentity = WindowsIdentity.GetCurrent();
        // Sử dụng hệ thống tài khoản của hệ điều hành window hiện tại
        WindowsPrincipal windowsPrincipal = new WindowsPrincipal(windowsIdentity);
        // Kiểm tra quyền quan trị "Administrator"
        return windowsPrincipal.IsInRole(WindowsBuiltInRole.Administrator);
    }

Good luck.

c# – Mã hóa và giải mã thông tin với mật khẩu


Trong quá trình phát triển ứng dụng việc bảo vệ nội dung các file cấu hình là rất cần thiết, trong bài này tôi giới thiệu với các bạn một đoạn code nhỏ giúp mã hóa và giải mã có sử dụng mật khẩu để mã hóa.

Khai báo mật khẩu như sau:

string key = "2giotoitaigoccayda";

Viết hàm sau để mã hóa:

/// <summary>
        /// Mã hóa chuỗi có mật khẩu
        /// </summary>
        /// <param name="toEncrypt">Chuỗi cần mã hóa</param>
        /// <returns>Chuỗi đã mã hóa</returns>
        public static string Encrypt(string toEncrypt)
        {
            bool useHashing = true;
            byte[] keyArray;
            byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt);

            if (useHashing)
            {
                MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
                keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));
            }
            else
                keyArray = UTF8Encoding.UTF8.GetBytes(key);

            TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
            tdes.Key = keyArray;
            tdes.Mode = CipherMode.ECB;
            tdes.Padding = PaddingMode.PKCS7;

            ICryptoTransform cTransform = tdes.CreateEncryptor();
            byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

            return Convert.ToBase64String(resultArray, 0, resultArray.Length);
        }

Hàm sau đây để phục hồi dữ liệu:

/// <summary>
        /// Giản mã
        /// </summary>
        /// <param name="toDecrypt">Chuỗi đã mã hóa</param>
        /// <returns>Chuỗi giản mã</returns>
        public static string Decrypt(string toDecrypt)
        {
            bool useHashing = true;
            byte[] keyArray;
            byte[] toEncryptArray = Convert.FromBase64String(toDecrypt);

            if (useHashing)
            {
                MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
                keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));
            }
            else
                keyArray = UTF8Encoding.UTF8.GetBytes(key);

            TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
            tdes.Key = keyArray;
            tdes.Mode = CipherMode.ECB;
            tdes.Padding = PaddingMode.PKCS7;

            ICryptoTransform cTransform = tdes.CreateDecryptor();
            byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

            return UTF8Encoding.UTF8.GetString(resultArray);
        }

Sử dụng 2 hàm này như sau:

string chuoimahoa = Encrypt("abc");
......
string chuoigiaima = Decrypt(chuoimahoa);

Hi vọng sẽ hữu ích với bạn.

SyndicationFeed – Đọc RSS với .Net 4.0 trở nên đơn giản


Sử dụng thư viện System.ServiceModel với 02 lớp

System.ServiceModel.Syndication.SyndicationFeed;
System.ServiceModel.Syndication.SyndicationItem;

Code ví dụ

List<SyndicationItem> rss = new List<SyndicationItem>(); 
string url = "http://vnexpress.net/rss/the-thao.rss";
XmlReader xmlreader = XmlReader.Create(url);
SyndicationFeed rssfeed = SyndicationFeed.Load(xmlreader);
xmlreader.Close();

foreach (SyndicationItem item in rssfeed.Items)
{
    rss.Add(item);
}

Demo ví dụ:
Untitled

Untitled1

Mã nguồn demo

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.ServiceModel.Syndication;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        List<SyndicationItem> rss;
        public Form1()
        {
            InitializeComponent();
            this.listBox1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.listBox1_MouseDoubleClick);
            this.button1.Click += new System.EventHandler(this.button1_Click);
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void load()
        {
            rss = new List<SyndicationItem>(); 
            string url = textBox1.Text;
            XmlReader xmlreader = XmlReader.Create(url);
            SyndicationFeed rssfeed = SyndicationFeed.Load(xmlreader);
            xmlreader.Close();

            foreach (SyndicationItem item in rssfeed.Items)
            {
                rss.Add(item);
                listBox1.Items.Add(item.Title.Text);
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            load();
        }

        private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            if (listBox1.SelectedItem == null)
                return;

            if (e.Clicks == 2)
            {
                Process.Start(rss[listBox1.SelectedIndex].Links[0].Uri.ToString());
            }
        }

    }
}

JavaScriptSerializer: JSON serialize và deserialize trong C#


Ngày này JSON đang trở nên phổ biến bởi tính tiện lợi của nó so với XML. Với .Net thư viện JavaScriptSerializer đã được phát triển giúp cho việc chuyển đổi dữ liệu dang định dạng JSON trở nên rất đơn giản.

Chúng ta cùng tìm hiểu một chút về thư viện này qua ví dụ sau:
Mã nguồn
Định nghĩa lớp


public class Student
{
    public Student()
    {
    }
    public Student(int id, string name)
    {
        _id = id;
        _name = name;
    }

    int _id;
    string _name;
    public int ID
    {
        get
        {
            return _id;
        }

        set
        {
            _id = value;
        }
    }

    public string Name
    {
        get
        {
            return _name;
        }

        set
        {
            _name = value;
        }
    }
}

Chuyển đối tượng sang json

Student s = new Student(100, "Nguyễn Văn Mít");
string str = serializer.Serialize(s);
Response.Write("Object: " + str);

Kết quả chạy có như sau:
Object: {“ID”:100,”Name”:”Nguyễn Văn Mít”}

Chuyển từ chuỗi JSON sang đối tượng Student

Student s1 = serializer.Deserialize<Student>(str);
Response.Write("<br/>Name: " + s1.Name);

Tương tự như vậy chúng ta cũng có thể chuyển một mảng sang JSON và ngược lại
Tạo một mảng như sau

List<Student> list = new List<Student>();
list.Add(new Student(1, "Trần Văn Cam"));
list.Add(new Student(2, "Trần Thanh Long"));
list.Add(new Student(3, "Lê Thị Lựu"));

string strlist = serializer.Serialize(list);
Response.Write("<br/>List: " + strlist);

// in
 Response.Write("<br/>List deserialize ");
 List<Student> listDe = serializer.Deserialize<List<Student>>(strlist);
 foreach (Student item in listDe)
 {
        Response.Write("<br/>Name: " + item.Name);
 }

Chạy lại ví dụ, chúng ta có kết quả
List: [{“ID”:1,”Name”:”Trần Văn Cam”},{“ID”:2,”Name”:”Trần Thanh Long”},{“ID”:3,”Name”:”Lê Thị Lựu”}]

Chuyển một DataTable sang JSON và ngược lại
Kết nối và đọc dữ liệu

SqlConnection conn = new SqlConnection("server=.;database=northwind;uid=sa;pwd=sa;");
SqlDataAdapter adp = new SqlDataAdapter("Select employeeid, firstname, lastname, birthdate, photopath from employees", conn);
DataSet ds = new DataSet();
adp.Fill(ds, "Emp");

Chuyển sang JSON

        List<Dictionary<string, object>> table = new List<Dictionary<string, object>>();
        foreach (DataRow r in ds.Tables[0].Rows)
        {
            Dictionary<string, object> column = new Dictionary<string, object>();
            foreach (DataColumn c in ds.Tables[0].Columns)
            {
                column.Add(c.ColumnName, r[c.ColumnName]);
            }
            table.Add(column);
        }

        string dsStr = serializer.Serialize(table);
        Response.Write("<br/>Data table: " + dsStr);

Chuyển từ JSON sang DataTable

        List<Dictionary<string, object>> t2 = serializer.Deserialize<List<Dictionary<string, object>>>(dsStr);
        DataTable dt = ds.Tables[0];
        dt.Clear();
        DataRow deRow;
        foreach (Dictionary<string, object> d in t2)
        {
            deRow = dt.NewRow();
            foreach (DataColumn col in dt.Columns)
            {
                deRow[col.ColumnName] = (d[col.ColumnName] == null ? DBNull.Value : d[col.ColumnName]);
            }            
            dt.Rows.Add(deRow);
        }
        GridView1.DataSource = dt;
        GridView1.DataBind();

Tới đây chạy lại ví dụ có kết quả như sau:

Data table: [{“employeeid”:1,”firstname”:”Mit”,”lastname”:”Nguyen Van”,”birthdate”:”\/Date(-664786800000)\/”,”photopath”:”http://accweb/emmployees/davolio.bmp”},{“employeeid”:2,”firstname”:”Fuller”,”lastname”:”Andrew”,”birthdate”:”\/Date(-563871600000)\/”,”photopath”:”http://accweb/emmployees/fuller.bmp”},{“employeeid”:3,”firstname”:”Janetsssss”,”lastname”:”Leverling”,”birthdate”:”\/Date(-200127600000)\/”,”photopath”:”http://accweb/emmployees/leverling.bmp”},{“employeeid”:4,”firstname”:”Margaret”,”lastname”:”Peacockdd”,”birthdate”:”\/Date(-1018854000000)\/”,”photopath”:”http://accweb/emmployees/peacock.bmp”},{“employeeid”:5,”firstname”:”Buchanan”,”lastname”:”Steven”,”birthdate”:”\/Date(-468054000000)\/”,”photopath”:”http://accweb/emmployees/buchanan.bmp”},{“employeeid”:6,”firstname”:”Suyama”,”lastname”:”Michael”,”birthdate”:”\/Date(1278003600000)\/”,”photopath”:”http://accweb/emmployees/davolio.bmp”},{“employeeid”:7,”firstname”:”Robert”,”lastname”:”King”,”birthdate”:”\/Date(-302770800000)\/”,”photopath”:”http://accweb/emmployees/davolio.bmp&#8221;},{“employeeid”:8,”firstname”:”Lauradddd”,”lastname”:”Callahan”,”birthdate”:”\/Date(-378025200000)\/”,”photopath”:”http://accweb/emmployees/davolio.bmp&#8221;},{“employeeid”:9,”firstname”:”Anne”,”lastname”:”9″,”birthdate”:”\/Date(-124009200000)\/”,”photopath”:”http://accweb/emmployees/davolio.bmp&#8221;},{“employeeid”:87,”firstname”:”Mr”,”lastname”:”Ben”,”birthdate”:”\/Date(-664786800000)\/”,”photopath”:null},{“employeeid”:89,”firstname”:”Mrdddd”,”lastname”:”dd”,”birthdate”:”\/Date(-664786800000)\/”,”photopath”:null},{“employeeid”:91,”firstname”:”Dan”,”lastname”:”Mss”,”birthdate”:”\/Date(-664786800000)\/”,”photopath”:null},{“employeeid”:102,”firstname”:”Mr”,”lastname”:”Been”,”birthdate”:”\/Date(340822800000)\/”,”photopath”:null},{“employeeid”:103,”firstname”:”Mr”,”lastname”:”Dan”,”birthdate”:”\/Date(340822800000)\/”,”photopath”:null},{“employeeid”:105,”firstname”:”Mr”,”lastname”:”Been”,”birthdate”:”\/Date(-664786800000)\/”,”photopath”:null},{“employeeid”:106,”firstname”:”Mr”,”lastname”:”Dan”,”birthdate”:”\/Date(-664786800000)\/”,”photopath”:null}]


table

Như vậy là cơ bản chúng ta có thể chuyển đổi qua lại giữa JSON và một vài kiểu của .net.

Trong PHP

Winform C# 1 – Questions


Câu 1 _____is any action directed at the application.

[A] Event

[B] Method

[C] Class

[D] Object

Câu 2____property is used to get or set the object that contains data about the control.

[A] Value

[B] Tag

[C] Text

[D] Name

Câu 3 Which of the following statement with respect to Data Grid control are True? (Choose all correct answers)

[A] By default, the DataGrid display 1 page at a time.

[B] When the DataGrid control is set to a valid data source, the control is populated automatically

[C] Each field in the DataGrid is bound to a single column based on the DataSource

[D] The DataGrid control display data in tabular format and optionally supports data editing.

Câu 4 When an MDI parent form is closed, the Closing event of all MDI child forms are raised before the MDI parent form’s Closing event is raised

[A] False

[B] True

Câu 5 What of the followings is correct for creating a command object with the connection con?

[A] SqlCommand Cmd = con.SetSqlCommand(“Select * From Student”);

[B] SqlCommand Cmd = con.GetSqlCommand(“Select * From Student”);

[C] SqlCommand Cmd = new SqlCommand(con,”Select * From Student”);

[D] SqlCommand Cmd = new SqlCommand(“Select * From Student”, con);

Câu 6 The method can be used to draw a rectangle or a square depending on the coordinates passed as its argument.

[A] FillSquare

[B] FillRectangle

[C] DrawSquare

[D] DrawRetangle

Câu 7 General Project Properties are applicable to all project configurations and are set in the properties window.

[A] False

[B] True

Câu 8 Name the object which notifes other objects about an event

[A] Consumer

[B] Publisher

[C] Subscriber

[D] Tester

Câu 9 _____it the normal ouput type for a WinForm project

[A] Windows Application

[B] Console Application

[C] Class Library

[D] Windows Forms

Câu 10 We can generate Typed Dataset from a Datadapter

[A] False

[B] True

Câu 11 To preserve screen space on the monitor, VS.NET provides us with (Choose all answers) Note

[A] Class View Window

[B] Command Window

[C] Solution Explorer Window

[D] Auto-Hide Window

[E] Properties Window

[F] Tabbed Windows

Câu 12Images can be drawn using the _____method to of the Graphics class.

[A] PaintImage()

[B] DrawImage()

[C] CreateImage()

[D] FromImage()

Câu 13 DataSet store its data in XML

[A] False

[B] True

Câu 14 The ____control groups a set of controls within a non-labeled an scrollable frame

[A] PictureBox

[B] Tab

[C] Frame

[D] Panel

Câu 15 The ____feature of Windows Installer provider a standard method for distributing components and ensures that the installed component is of the correct version.

[A] VersionUpdate

[B] CAB

[C] Msi

[D] Merge Modules

Câu 16 To create an instance of the Font class using existing Font and FontStyle, the constructor is:

[A] public void Font(string fontname, float size);

[B] public Font(FontStyle fs, Font f);

[C] public void Font(Font f, FontStyle fs);

[D] public Font(Font f, FontStyle fs);

[E] public Font(string fontname, float size);

Câu 17 Which control is used to display a short, customized help message for individual controls on a form?

[A] ToolTip

[B] HelpText

[C] HelpTool

[D] ToolClass

Câu 18 For using SQL.NET Data Provider what using statement of the following is correct?

[A] using System.Data;

[B] using System.Data.SqlServer;

[C] using System.Data.OleDb;

[D] using System.Data.SqlClient;

Câu 19 OLE is the abbreviation for ____

[A] Object Like Environment

[B] Object Linking and Embedding

[C] Object Linking Environment

[D] Object Linking and Empower

Câu 20 Microsoft Windows Installer is shipped along with Windows 2000, Windows ME and Windows XP as an installation and configuration service.

[A] False

[B] True

Câu 21 Which namespace is VS.NET contains classes that help in constructing and sending emails?

[A] System.Web.Mail

[B] System.Mail

[C] System.Web.MailMessage

[D] System.Web.MailMessages

Câu 22 Statement 1: Tree View displays items like folders, drives etc.

Statement 2: List View display items like current folder contents.

[A] Only statement 2 is true

[B] Both the statements are true

[C] Only statement 1 is true

[D] Both the statements are false

Câu 23 The DataAdapter method is used to fetch the values from the data source to the DataSet and also to update the data source with the DataSet data.

[A] False

[B] True

Câu 24 To perform a change to a table using the Command object named Cmd, what statement of the following correct?

[A] Cmd.ExecuteReader()

[B] Cmd.ExecuteScalar()

[C] Cmd.ExecuteQuery()

[D] Cmd.ExecuteNonQuery()

[E] Cmd.ExecuteUpdate()

Câu 25 When a Data Form is created using the Data Form Wizard, which of the following classes are used by default?(Choose all correct answers)

[A] OleDbDataWriter

[B] OleDbDataAdapter

[C] OleDbStatement

[D] OleDbDataReader

[E] OleDbConnection

[F] OleDbCommand

Câu 26 ____property of a connection object is used to get or set the string used to open a database

[A] ConnectionParams

[B] ConnectionInfo

[C] StringConnection

[D] ConnectionString

Câu 27 property is used to get or set the data source that the grid is displaying data for.

[A] DataSrc

[B] DataSource

[C] DataSet

[D] DataMember

[E] DataSender

Câu 28 _____property is used to get or set the edges of the control are anchored to the edges of its container.

[A] Hang

[B] Fixed

[C] Anchor

[D] Dock

Câu 29 MessageBox is a type of dialog box

[A] False

[B] True

Câu 30 OLE is the abbreviation for Object Linking and Embedding

[A] False

[B] True

Câu 31 ____property is used to get or set the shortcut menu associated with the control.

[A] PopUpMenu

[B] SubMenu

[C] ContextMenu

[D] MainMenu

Câu 32 The DataReader component is used to get the read-only and forward-only data from the data source.

[A] False

[B] True

Câu 33 System.Windows.Forms is an important____of the class libraries in .NET framework?

[A] Namespace

[B] Class

Câu 34 To get values of the columns of the i-th row in a DataTable object named datatable, what of the follwings is correct?

[A] DataColumn array = datatable.Rows[i].ItemArray;

[B] String[]array = datatable.Rows[i].ItemArray;

[C] Object[]array = datatable.Rows[i].ItemArray;

[D] DataRow array = datatable.Rows[i].ItemArray;

Câu 35 What mode is VS.NET allow you to step through each line of code and trace the execution of your application?

[A] Neither Debug Mode nor Release Mode

[B] Both Debug Mode and Release Mode

[C] Release Mode

[D] Debug Mode

Câu 36 Link Lable is commands control?

[A] False

[B] True

[C] There is no link label control

Câu 37 Brushes can be created using one of the following classe(Choose all correct answers)

[A] ThinBrush

[B] ThickBrush

[C] PlainBrush

[D] TextureBrush

[E] SolidBrush

[F] LinearGradientBrush

[G] GradientBrush

Câu 38 What mode is VS.NET allow you create a portable exe(EXE) file?

[A] Neither Debug Mode nor Release Mode

[B] Debug Mode

[C] Both Debug Mode and Release Mode

[D] Release Mode

Câu 39 What statement in the followings is correct

I. The instance properties and methods are those, which are common to all the instances of the class.

II. The shared properties and methods are those, which are specific to a particular instance.

[A] Both of I and II statements are correct

[B] Both of I and II statements are incorrect

[C] Only II statement is correct

[D] Only I statement is correct

Câu 40 ADO.NET provides features for accessing traditional databases like SQL Server as well as databases, which are accessed using ____.(choose all correct answers)

[A] ODBC

[B] VB.NET

[C] OLEDB

[D] XML

[E] DataSets

Câu 41 Name the .NET data providers which are available is VS.NET?(Choose all correct answers)

[A] ODBC.NET Framework Data Provider

[B] SQL.NET Framework Data Provider

[C] OLEDB.NET Framework Data Provider

[D] Oracle.NET Framework Data Provider

[E] Access.NET Framework Data Provider

Câu 42 You can create your own table in DataSet

[A] False

[B] True

Câu 43 The____ event of the PrintDocument class is triggered immediately before each PrintPage event ocurs.

[A] StartPrint

[B] BeginPrint

[C] PrintPage

[D] QueryPageSettings

Câu 44 ___is the easiest way to allow the user to interact with the application.

[A] Label control

[B] Text control

[C] Button control

[D] Form

Câu 45 The term packaging imlies bundling up all the files in the application into a single file called a Distribution Unit

[A] False

[B] True

Câu 46 Which namespace does the class ListView belong to?

[A] System.Windows.Lists

[B] System.Windows.Drawing

[C] System.Windows.Paint

[D] System.Windows.Forms

Câu 47 The____property of a DataGrid control, allow filling various kinds of data in a DataGrid including data from a DataSet, DataViewManager, Arrays, Lists etc.

[A] DataRecords

[B] FillSchema

[C] Fill

[D] FillData

[E] DataSource

Câu 48 The Pen class belongs to the ____namespace and cannot be inherited

[A] System.Painting

[B] System.GraphicsObjects

[C] System.Graphics

[D] System.Drawing

Câu 49 ____are the visual effects supported in WinForms (Choose all correct answers).

[A] Collections

[B] Class Libraries

[C] Opaque Forms

[D] Visual Inheritance

[E] Control Anchoring

[F] Cotrol Docking

[G] Transparent Forms

Câu 50 Help is one of the most important but then also mostly forgotten part of any application

[A] False

[B] True

Câu 51 Which class represents shortcut menus that can be displayed when the user clicks the right mouse button over a control or area of the form?

[A] ToolMenu

[B] MainMenu

[C] ContextMenu

[D] FileMenu

Câu 52 The value of the HelpButton property is ignored if the maximize of minimize boxes are shown.

[A] False

[B] True

Câu 53 List the key elements of COM (choose all correct answers)

[A] A set of theorems which must be proven for checking the correctness of the object model

[B] A set of graphical symbol for modeling the objects

[C] A set of services for creating and exposing the classes

[D] A set of specifications defining the programming protocol

Câu 54 ____ are the Print support controls provided by WinForms.(Choose all correct answers)

[A] PrintPreview

[B] PrintFile

[C] PrintPreviewControl

[D] PrintDirectory

[E] PrintDocument

Câu 55 What of the followings are data validation mode in WinForms?(Choose all correct answers)

[A] Form-Level Validation

[B] There is no Data validation mode in Winforms

[C] Control-Level Validation

[D] Field-Level Validation

Câu 56 What of the folllowings is correct if we want to set the Achild form as a child form of the parent form named TheParent?

[A] AChild.MdiParent = TheParent;

[B] AChild.TheParent = true;

[C] Achild.MdiChild = AChild;

[D] TheParent.MdiChild = AChild;

[E] TheParent.AChild = true;

Câu 57 Class Library is one of the main components of the .NET framework and is divided in to ____

[A] Namespaces

[B] DLL components

[C] GUI components

Câu 58 To bind data to controls as ListBox, ComboBox, DataGrid, what type of data bindings shoud you use?

[A] Hybrid Data Binding

[B] Complex Data Binding

[C] Simple Data Binding

[D] Structured Data Binding

Câu 59 The ____control groups a set of controls within a non-labeled and scrollable frame

[A] PictureBox

[B] CheckedBox

[C] Panel

[D] Frame

Câu 60 ____property is used to get or set a value that is returned to the parent form when the button is clicked.

[A] ButonResult

[B] DialogResult

[C] ButtonValue

[D] ResultValue

[E] ResultDialog

Câu 61 Arrange the sequence in which the key events are triggered

[A] KeyPress, KeyUp, KeyDown

[B] KeyUp, KeyPress, KeyDown

[C] KeyDown, keyPress, KeyUp

[D] KeyPress, keyDown, KeyUp

[E] KeyUp, KeyDown, KeyPress

[F] KeyDown, KeyUp, KeyPress

Câu 62 The types of list box supported in Winforms are(Choose all correct answers)

[A] ListBox

[B] CheckedListBox

[C] ComboBox

[D] DropDownbox

Câu 63 What are thee steps involved involved in calling one from another form?(choose all answers)

[A] Create an instance of the calling form

[B] Create an instance of the form to be called

[C] Invoke Show

Câu 64 Which Control is used to display the current status of the application using framed windows?

[A] TreeView

[B] StatusBar

[C] ToolBar

[D] ListView

Câu 65 Which of the following objects can we use to read data from a Micorosoft SQL Server 2000 database? (choose all correct answers)

[A] SQLDataAdapter

[B] DataSet

[C] OleDbDataAdapter

[D] ADORecordSet

[E] XmlTextReader

Câu 66 Use DataReader when we want to have data scrollable

[A] False

[B] True

Câu 67 What is component is used to fetch the values from the data source to DataSet and also update the data source with data in the DataSet?

[A] DataWriter

[B] DataReader

[C] DataAdapter

[D] DataCommand

Câu 68 The ____property of the Form control is used to determine whether there are any MDI child forms open in your MDI application.

[A] ActiveMdiChildren

[B] ActiveMdiChild

[C] IsMdiChild

[D] IsMdiChildren

Câu 69 ____are the collection of reusable classes or types

[A] Namespaces

[B] Collections

[C] Class libraries

Câu 70 ____control combines the features of the TextBox and the ListBox controls

[A] ToolBar

[B] StatusBar

[C] Label

[D] ComboBox

Câu 71 A custom control should you use to verify an authorized aplication user called as _____

[A] Composite Custom Control

[B] Standard Control

[C] Single Control

[D] Complex Control

Câu 72 Each Merge Module holds distinctive version details that are used by Windows Installer

[A] False

[B] True

Câu 73 Which of the following statements with respect to ADO.Net are True? (Choose all correct answers)

[A] System built on ADO.NET are intrinsically highly scaleable

[B] ADO.NET objects are all strongly typed.

[C] When we use the DataSet object, ADO.NET is based on disconnected data access.

[D] in ADO.NET, the RecordSet is bound to the data source

Câu 74 The method ____of the Control class conceals the control from the user.

[A] Close

[B] visible

[C] Dispose

[D] Hide

Câu 75 What control support us to display the list items in different types as text only, text with small icons, text with large icons and report views?

[A] ListView

[B] ListBox

[C] CheckedListBox

[D] ComboBox

Câu 76 IntelliSence pops up a list of _____that can be called on an object (Choose all correct answers). Xem lai

[A] Hints

[B] Values

[C] Properties

[D] Links

[E] Tags

Câu 77 The____ control is used to display text when the mouse points to a particular control

[A] Toolbar

[B] StatusBar

[C] Menu

[D] ToolTip

Câu 78 What are the types of Dialog boxes?(choose all correct answers)

[A] Custom dialog boxes

[B] Common dialog boxes

[C] Modeless dialog boxes

[D] Modal dialog boxes

Câu 79 which class is the base class for all the controls that can be used in Windows Forms?

[A] Control

[B] Controls

[C] Forms

[D] Objects

Câu 80 GDI + resides in _____ assembly.

[A] System.Painting

[B] System

[C] System.Graphics

[D] System.Drawing

Câu 81 The ____ property of the LinkLabel control is used to specity the text, which has to be displayed as a link.

[A] HyperLink

[B] URLName

[C] LinkName

[D] LinkArea

Câu 82 What of the following are correct for creating a connection object to database named MyDB? (Choose all correct answers)

[A] SqlConnection con = new SqlConnection(“server=myserver;

Integrated Security = SSPI; database=MyDB”);

[B] SqlConnection con = new SqlConnection(“server=myserver”

Intergrated Security=SSPI; Data Source=MyDB);

[C] SqlConnection con = new SqlConnection(“Data Source=myserver;

Integrated Sercurity=SSPI; Initial Catalog=MyDB”);

C©u 83 List the advantages of DCOM (Choose all correct answers)

[A] Provides Location Transparency(Distributed Architecture)

[B] Platform independent

[C] Fully Language Independent

[D] Supports version compatibility

C©u 84 The view types supported in Winforms are (choose all correct answers)

[A] Text with large icons

[B] Text only

[C] Text with small icons

[D] Report view

C©u 85 If maximize and minimize buttons are displayed then the HelpButton property is ignored.

[A] False

[B] True

C©u 86 The ____ event of the Form control is used to perform tasks such as allocating resources used by the form

[A] Allocate

[B] Activate

[C] Load

[D] Activated

C©u 87 To get values of the colums of the i-th row in a DataTable object named datatable, what of the followings is correct?

[A] Object [] array = datatable.Rows[i].ItemArray;

[B] DataColumn array = datatable. Rows[i].ItemArray;

[C] String[] array = datatable. Rows[i].ItemArray;

[D] DataRow array = datatable. Rows[i].ItemArray;