C# GridView排序/分页

OnSorting="gvName_Sorting"
OnPageIndexChanging="gvName_PageIndexChanging"

    protected void gvName_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        gvName.PageIndex = e.NewPageIndex;
        BindEvents();
    }
		

    protected void gvName_Sorting(object sender, GridViewSortEventArgs e)
    {
        GridViewSortExpression = e.SortExpression;
        SetSortDirection();
        BindEvents();
    }

    protected void BindEvents()
    {
        DataView dvName = new DataView();

        dvName.Sort = GridViewSortExpression + " " + GridViewSortDirection;

        dvName.DataSource = dvEvents;
        dvName.DataBind();
       
    }
	
    private string GridViewSortDirection
    {
        get { return ViewState["SortDirection"] as string ?? "DESC"; }
        set { ViewState["SortDirection"] = value; }
    }

    private string GridViewSortExpression
    {
        get { return ViewState["SortExpression"] as string ?? "DEFAULT SORT COLUMN"; }
        set { ViewState["SortExpression"] = value; }
    }

    private void SetSortDirection()
    {
       GridViewSortDirection = (GridViewSortDirection == "DESC") ? "ASC" : "DESC";
    }

C# Gridview MouseOver颜色

protected void GridView_RowDataBound(Object sender, GridViewRowEventArgs e)
{
  DataControlRowType rtype = e.Row.RowType;

  if (rtype == DataControlRowType.DataRow && rtype != DataControlRowType.Footer && rtype != DataControlRowType.Separator && rtype != DataControlRowType.Header && rtype != DataControlRowType.Pager)
   {
      e.Row.Attributes.Add("onmouseover", "Highlight(this,'#DCEDFF');");
      e.Row.Attributes.Add("onmouseout", "resetColorRows('#ffffff','#eeeeee');");
   }
}

<script type="text/javascript">
   function Highlight(row,color)
    {
        row.style.backgroundColor=color;
    }
    
    
    function resetColorRows(color1,color2) 
	{
        var bgColor;

        t = document.getElementsByTagName("tr");
        
        for (var i=1; i<t.length; i++)
		{
	        if ((i % 2) == 1)
		        bgColor = color1;
	        else
		        bgColor = color2;
	 
	        t[i].style.backgroundColor = bgColor;
        }
	}  
</script>

C# 使用Winform中的BackgroundWorker对象

int totalLines = 0;
        int goodLines = 0;
        int badLines = 0;
        int colNum = 0; 
        long bytesProcessed = 0;
        long fileSize = 0;
        string regEx = string.Empty;
        char[] delimiter = null; 
        StringBuilder sb = new StringBuilder();
        StreamReader sr = null; 

        private void txtParse_Click(object sender, EventArgs e)
        {
            totalLines = 0;
            goodLines = 0;
            badLines = 0;
            sb = new StringBuilder();
            
            bytesProcessed = 0;
            progressBar1.Value = 0;
            FileInfo fi = new FileInfo(txtInputFile.Text);
            fileSize = fi.Length;
            
            sr = new StreamReader(txtInputFile.Text);
            colNum = Convert.ToInt32(txtColNum.Text);
            regEx = txtRegex.Text;
            delimiter = txtDelimiter.Text.ToCharArray();
            
            timer1.Start(); 
            backgroundWorker1.RunWorkerAsync(); 
        }

        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            while(!sr.EndOfStream)
            {
                string rawLine = sr.ReadLine();
                totalLines++;
                bytesProcessed += rawLine.Length;
                string[] splitLine = rawLine.Split(delimiter);
                if (Regex.IsMatch(splitLine[colNum], regEx))
                {
                    goodLines++;
                }
                else
                {
                    badLines++;
                    sb.AppendLine(rawLine);
                }
            }
        }

        private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            txtOutput.Text = "Lines Processed: " + totalLines.ToString() + "
";
            txtOutput.Text += "Good Lines: " + goodLines.ToString() + "
";
            txtOutput.Text += "Bad Lines: " + badLines.ToString() + "
";
            txtOutput.Text += sb.ToString();
            timer1.Stop();
            progressBar1.Value = 100; 
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            double ratio = Convert.ToDouble(bytesProcessed) / Convert.ToDouble(fileSize);
            double rawPercent = ratio * 100;
            int send = Convert.ToInt32(rawPercent);
            progressBar1.Value = send; 
        }

C# 的HasValue

/// <summary>
        /// Check if the object has a value
        /// </summary>
        /// <param name="o">object to be checked</param>
        /// <returns>boolean true/false whether it has a value.</returns>
        public bool HasValue(object o)
        {
            return o != null && o != System.DBNull.Value && o.ToString() != "";
        }

C# 计算MD5哈希值

// using System;
// using System.Text;
// using System.Security.Cryptography;

private string GetHash(string str)
{
    MD5 md5 = MD5CryptoServiceProvider.Create();
    ASCIIEncoding encoding = new ASCIIEncoding();
    StringBuilder sb = new StringBuilder();
    byte[] stream = md5.ComputeHash(encoding.GetBytes(str));
    for (int i = 0; i < stream.Length; i++)
    {
        sb.AppendFormat("{0:x2}", stream[i]);
    }
    return sb.ToString();
}

C# Linq in C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            DataClasses1DataContext dc = new DataClasses1DataContext();
            var benutzerListe = from ds in dc.Benutzers where ds.PLY=="33" select ds;
            foreach (var item in benutzerListe)
            {
                Console.WriteLine(item.Vorname + " " + item.Nachname);
                item.Vorname = "Rolf";

            }

            Benutzer bn = new Benutzer() { ID = "3", Nachname = "sdfs", PLY = "saf", Strasse = "dsf", Vorname = "dsfs", Wohnort = "dsf" };
        

            dc.Benutzers.InsertOnSubmit(bn);
            dc.SubmitChanges();
            Console.ReadKey();
        }
    }
}

C# Windows Mobile教程

using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.WindowsMobile.PocketOutlook;
using Microsoft.WindowsMobile.Telephony;

namespace SmartDeviceProject1
{
    public partial class Form1 : Form
    {
        Random rnd = new Random(DateTime.Now.Millisecond);
        OutlookSession os = new OutlookSession();
        ContactCollection kontakte;

        public Form1()
        {
            InitializeComponent();
            kontakte = os.Contacts.Items;
            Contact meinKontakt = new Contact();
            meinKontakt.FirstName = "dieter";
            meinKontakt.LastName = "wurst";
            meinKontakt.MobileTelephoneNumber = "018930334";
            kontakte.Add(meinKontakt);
        }

      
        private void color_Click(object sender, EventArgs e)
        {
            this.BackColor = Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255));
        }

        private void menuExit_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void btnCall_Click(object sender, EventArgs e)
        {
            Phone meinHandy = new Phone();
            meinHandy.Talk("04543534");
        }

        private void btnSMS_Click(object sender, EventArgs e)
        {
            SmsMessage mySms = new SmsMessage();
            mySms.Body = "das is ne nachtichr";
            mySms.To.Add(new Recipient("32423423"));
            mySms.Send();
            MessageBox.Show("versendet");
        }
    }
}

C# ASP.NET Hello World!

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
	protected override void OnLoad(EventArgs e)
	{
		base.OnLoad(e);
		Label1.Text = "Hello World!";
	}
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
	<title></title>
</head>
<body>
	<form id="form1" runat="server">
	<div>
		<asp:Label ID="Label1" runat="server"></asp:Label>
	</div>
	</form>
</body>
</html>

C# 具有扫描,上传和缩略图生成功能的ImgX Controls / ASP.NET AJAX演示页面。

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
	public bool ThumbnailCallback()
	{
		return false;
	}

	protected override void OnInit(EventArgs e)
	{
		base.OnInit(e);
		string id = Request.Params["id"];

		if (!string.IsNullOrEmpty(id) && Session[id] as byte[] != null)
		{
			byte[] thumbnailBytes = null;

			/*
			 * Microsoft Support: Bitmap and Image constructor dependencies (http://support.microsoft.com/Default.aspx?id=814675)
			 * Google: "A generic error occurred in GDI+." 2147467259 (http://www.google.gr/search?num=100&hl=en&q=%22A+generic+error+occurred+in+GDI%2B.%22+2147467259)
			 * In sort, we must keep the originating stream of an Image as long as we want to do computations with that image.
			 */

			using (System.IO.MemoryStream msImage = new System.IO.MemoryStream(Session[id] as byte[]))
			{
				System.Drawing.Image image = System.Drawing.Image.FromStream(msImage);

				using (System.IO.MemoryStream msThumbnail = new System.IO.MemoryStream())
				{
					System.Drawing.Image.GetThumbnailImageAbort myCallback =
						new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);

					int factor = 10;
					try
					{
						factor = Int32.Parse(Request.Params["factor"]);
					}
					catch
					{
						// Ignore.
					}

					System.Drawing.Image thumbnail = image.GetThumbnailImage(image.Width / factor, image.Height / factor, null, IntPtr.Zero);
					thumbnail.Save(msThumbnail, System.Drawing.Imaging.ImageFormat.Jpeg);
					thumbnailBytes = new byte[msThumbnail.Length];

					msThumbnail.Seek(0, System.IO.SeekOrigin.Begin);
					msThumbnail.Read(thumbnailBytes, 0, thumbnailBytes.Length);
				}
			}

			Response.ContentType = "image/jpeg";
			Response.BinaryWrite(thumbnailBytes);
		}
	}

	[System.Web.Services.WebMethod]
	public static string Upload(string encodedImage)
	{
		if (string.IsNullOrEmpty(encodedImage))
			throw new ArgumentException(string.Empty, "encodedImage");

		string id = (new Random()).Next().ToString();
		HttpContext.Current.Session[id] = System.Convert.FromBase64String(encodedImage);

		return id;
	}
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
	<title></title>
</head>
<body>
	<form id="form1" runat="server">
	<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
	</asp:ScriptManager>

	<script type="text/javascript">
		function ButtonFirst_Click(evt) {
			evt.preventDefault();

			var imgx = $get('ImgX');
			imgx.Images.Current = imgx.Images(0);

			UpdateView();
		}

		function ButtonPrevious_Click(evt) {
			evt.preventDefault();

			var imgx = $get('ImgX');
			imgx.Images.Current = imgx.Images(imgx.Images.Current.Index - 1);

			UpdateView();
		}

		function ButtonNext_Click(evt) {
			evt.preventDefault();

			var imgx = $get('ImgX');
			imgx.Images.Current = imgx.Images(imgx.Images.Current.Index + 1);

			UpdateView();
		}

		function ButtonLast_Click(evt) {
			evt.preventDefault();

			var imgx = $get('ImgX');
			imgx.Images.Current = imgx.Images(imgx.Images.Count - 1);

			UpdateView();
		}

		function pageLoad(sender, e) {
			// Attach event handlers.
			$addHandler($get('<%= ButtonScan.ClientID %>'), 'click', ButtonScan_Click);
			$addHandler($get('<%= Slider1.ClientID %>'), 'change', Slider1_Change);
			$addHandler($get('<%= ButtonUpdateThumbnail.ClientID %>'), 'click', ButtonUpdateThumbnail_Click);
			$addHandler($get('<%= ButtonFirst.ClientID %>'), 'click', ButtonFirst_Click);
			$addHandler($get('<%= ButtonPrevious.ClientID %>'), 'click', ButtonPrevious_Click);
			$addHandler($get('<%= ButtonNext.ClientID %>'), 'click', ButtonNext_Click);
			$addHandler($get('<%= ButtonLast.ClientID %>'), 'click', ButtonLast_Click);
			$get('ImgXTwain').attachEvent('ImageAcquired', ImgXTwain_ImageAcquired);

			// ImgX initialization.
			var imgx = $get('ImgX');
			imgx.AutoZoomType = 1;

			UpdateView();
		}
		function Slider1_Change(evt) {
			$get('ImgX').Zoom = evt.target.value / 100;
		}

		function ButtonUpdateThumbnail_Click(evt) {
			evt.preventDefault();
			var imgx = $get('ImgX');

			var imageType = 1; // enum value for jpeg

			if (imgx.Images.Count > 1) {
				imageType = 3; // enum value for Tiffs
				imgx.ImgX.TIFCompression = 4; // Set packbits compression for 8, 24, 32 bit images.
			}

			// Get a base64 string representing our encoded image.
			var tempElement = (new ActiveXObject("Microsoft.XMLDOM")).createElement("tempElement");
			tempElement.dataType = "bin.base64";
			tempElement.nodeTypedValue = imgx.Export.ToMemoryFileVariant(imageType);

			// Upload
			PageMethods.Upload(tempElement.text, Upload_Success);
		}

		function Upload_Success(result, context, methodName) {
			var img = $get('<%=Image1.ClientID %>');
			img.src = '?id=' + result;
		}

		function ButtonScan_Click(evt) {
			evt.preventDefault();
			$get('ImgXTwain').Acquire(false, theForm.ImgX.hWnd);
		}

		function ImgXTwain_ImageAcquired(image) {

			var imgx = $get('ImgX');

			// Set scanning options. These must be set before image acquisition.
			imgx.AutoZoom = $get('<%=CheckBoxAutoZoom.ClientID %>').checked;
			imgx.AutoCrop = $get('<%=CheckBoxAutoCrop.ClientID %>').checked;
			imgx.Images.Add(theForm.ImgX.Support.GetImageFromVariant(image), 0, false);

			UpdateView();
		}

		function UpdateView() {
			var imgx = $get('ImgX');

			$get('<%=ButtonUpdateThumbnail.ClientID %>').disabled = imgx.Images.Count == 0;

			if (imgx.Images.Count < 2) {
				$get('<%=ButtonPrevious.ClientID %>').disabled =
					$get('<%=ButtonFirst.ClientID %>').disabled =
					$get('<%=ButtonLast.ClientID %>').disabled =
					$get('<%=ButtonNext.ClientID %>').disabled = true;
			}
			else {
				$get('<%=ButtonPrevious.ClientID %>').disabled =
					$get('<%=ButtonFirst.ClientID %>').disabled = imgx.Images.Current.Index == 0;
				$get('<%=ButtonLast.ClientID %>').disabled =
					$get('<%=ButtonNext.ClientID %>').disabled = imgx.Images.Count == imgx.Images.Current.Index + 1;
			}

			if (imgx.Images.Count > 0) {
				$get('SpanCurrent').innerHTML = imgx.Images.Current.Index + 1;
				$get('SpanCount').innerHTML = imgx.Images.Count;
			}
			else {
				$get('SpanCurrent').innerHTML = $get('SpanCount').innerHTML = 0;
			}

			$find("<%=SliderExtender1.ClientID%>").set_Value(Math.round(imgx.Zoom * 100));
		}
	</script>

	<div>
		<div style="display: none">
			<object id="ImgXTwain" classid="CLSID:354D91A8-E3C9-491F-BB89-0FB27DEEED86">
			</object>
		</div>
		<div style="float: left; position: relative; top: 25px; margin: 5px;">
			<ajaxToolKit:SliderExtender ID="SliderExtender1" runat="server" TargetControlID="Slider1"
				Minimum="1" RaiseChangeOnlyOnMouseUp="false" Orientation="Vertical" BoundControlID="Slider1_BoundControl">
			</ajaxToolKit:SliderExtender>
			<asp:TextBox ID="Slider1" runat="server"></asp:TextBox>
			<asp:Label ID="Slider1_BoundControl" runat="server"></asp:Label>%
		</div>
		<div style="float: left">
			<asp:Panel ID="Panel3" runat="server" Style="text-align: center;">
				<asp:Button ID="ButtonFirst" runat="server" Text="<< First" />
				<asp:Button ID="ButtonPrevious" runat="server" Text="< Previous" />
				<span id="SpanCurrent"></span> of <span id="SpanCount"></span>
				<asp:Button ID="ButtonNext" runat="server" Text="Next >" />
				<asp:Button ID="ButtonLast" runat="server" Text="Last >>" />
			</asp:Panel>
			<object id="ImgX" classid="clsid:111A5E7A-EAAC-433A-B56B-0AF470BE6306" style="width: 353px;
				height: 500px;">
				<param name="BackColor" value="16777215" />
				<param name="MouseTool" value="2" />
				<param name="AntialiasDisplay" value="True" />
				<param name="Center" value="True" />
				<param name="UndoLevels" value="3" />
			</object>
		</div>
		<div style="float: left; width: 400px; margin-left: 10px">
			<asp:Panel ID="Panel1" runat="server" GroupingText="Scan">
				<asp:Button ID="ButtonScan" runat="server" Text="Scan" Style="float: right" />
				<asp:CheckBox ID="CheckBoxAutoZoom" runat="server" Text="AutoZoom" Checked="true" />
				<asp:CheckBox ID="CheckBoxAutoCrop" runat="server" Text="AutoCrop" Checked="true" />
			</asp:Panel>
			<asp:Panel ID="Panel2" runat="server" GroupingText="Thumbnail">
				<asp:Button ID="ButtonUpdateThumbnail" runat="server" Text="Update" Style="float: right" />
				<asp:Image ID="Image1" runat="server" />
			</asp:Panel>
			<asp:Panel ID="Panel5" runat="server" GroupingText="Edit">
				<asp:Button ID="ButtonRemove" runat="server" Text="Remove" ToolTip="Remove image from collection" />
			</asp:Panel>
		</div>
	</div>
	</form>
</body>
</html>

C# WPF网格

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:own="clr-namespace:WpfApplication1"
    Title="Window1" Height="300" Width="300">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="100"></ColumnDefinition>
            <ColumnDefinition Width="*"></ColumnDefinition>
            <ColumnDefinition Width="2*"></ColumnDefinition>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="100"></RowDefinition>
            <RowDefinition Height="*"></RowDefinition>
        </Grid.RowDefinitions>
        
        <Grid Grid.Column="1" Grid.ColumnSpan="2">
            <Label Content="Label"></Label>     
        </Grid>
    </Grid>
</Window>