Thursday, September 23, 2010

In asp.net how to specify the length of the interception of mixed Chinese and English strings?


One of the things we often do, that is, the article system, the interception of a certain length of the title of the article, more than the specified length to add "..."
If two strings: string str1 = "abc Chinese English ~"; string str2 = "136 136 ~ web site construction web136";
To intercept, the output:

str1 = "Chinese ..."; str2 = "136 136 ..."; Website
Which is to turn the string in English mixed in the interception, the length to be consistent, that is 8 bytes in length (excluding the three points), and the Chinese can not appear to be cut off from the middle of the situation. Then write a method:
public static string getStr (string s, int l) ( string temp = s; if (Regex.Replace (temp, "[\ u4e00-\ u9fa5]", "zz", RegexOptions.IgnoreCase). Length <= l) ( return temp; ) for (int i = temp.Length; i> = 0; i -) ( temp = temp.Substring (0, i); if (Regex.Replace (temp, "[\ u4e00-\ u9fa5]", "zz", RegexOptions.IgnoreCase). Length <= l-3) ( return temp + ""; ) ) return ""; ) Call: string content = "Chinese web language"; content = getStr (content, 13);

In asp.net how to specify the length of the interception of mixed Chinese and English strings?


One of the things we often do, that is, the article system, the interception of a certain length of the title of the article, more than the specified length to add "..."
If two strings: string str1 = "abc Chinese English ~"; string str2 = "136 136 ~ web site construction web136";
To intercept, the output:

str1 = "Chinese ..."; str2 = "136 136 ..."; Website
Which is to turn the string in English mixed in the interception, the length to be consistent, that is 8 bytes in length (excluding the three points), and the Chinese can not appear to be cut off from the middle of the situation. Then write a method:
public static string getStr (string s, int l) ( string temp = s; if (Regex.Replace (temp, "[\ u4e00-\ u9fa5]", "zz", RegexOptions.IgnoreCase). Length <= l) ( return temp; ) for (int i = temp.Length; i> = 0; i -) ( temp = temp.Substring (0, i); if (Regex.Replace (temp, "[\ u4e00-\ u9fa5]", "zz", RegexOptions.IgnoreCase). Length <= l-3) ( return temp + ""; ) ) return ""; ) Call: string content = "Chinese web language"; content = getStr (content, 13);

. NET drag and drop operation


In the application, through processing a series of events, such as DragEnter, DragLeave and DragDrop events to implement the application in the Windows drag and drop operation. Parameters of these events through the use of the available information, you can easily drag and drop. 
Drag and drop in the code is achieved through three steps, first start the drag and drop, drag the data control is needed to achieve MouseDown event response code, and calls DoDragDrop () method; followed by drag and drop effects, the target Add DragEnter event on the control response code, the use of mobile DragDropEffects enumerated type or copy and other drag effect; the last data operation is placed in the target control to add DragDrop response code, the data added to the target control. 
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data;
namespace DragDrop ( / / /  / / / Form1 summary description. / / /  public class Form1: System.Windows.Forms.Form ( private System.Windows.Forms.ListBox listBox1; private System.Windows.Forms.ListBox listBox2; / / /  / / / Required designer variable. / / /  private System.ComponentModel.Container components = null;
public Form1 () ( / / / / Windows Form Designer support necessary / / InitializeComponent ();
/ / / / TODO: add in the InitializeComponent call any constructor code after / / )
/ / /  / / / Clean up any resources being used. / / /  protected override void Dispose (bool disposing) ( if (disposing) ( if (components! = null) ( components.Dispose (); ) ) base.Dispose (disposing); )
# Region Windows Form Designer generated code / / /  / / / Required method for Designer support - do not use the code editor to modify / / / The contents of this method. / / /  private void InitializeComponent () ( this.listBox1 = new System.Windows.Forms.ListBox (); this.listBox2 = new System.Windows.Forms.ListBox (); this.SuspendLayout (); / / / / ListBox1 / / this.listBox1.ItemHeight = 12; this.listBox1.Location = new System.Drawing.Point (32, 24); this.listBox1.Name = "listBox1"; this.listBox1.Size = new System.Drawing.Size (120, 280); this.listBox1.TabIndex = 0; this.listBox1.MouseDown + = new System.Windows.Forms.MouseEventHandler (this.listBox1_MouseDown); / / / / ListBox2 / / this.listBox2.ItemHeight = 12; this.listBox2.Location = new System.Drawing.Point (248, 24); this.listBox2.Name = "listBox2"; this.listBox2.Size = new System.Drawing.Size (120, 280); this.listBox2.TabIndex = 0; this.listBox2.DragDrop + = new System.Windows.Forms.DragEventHandler (this.listBox2_DragDrop); this.listBox2.DragEnter + = new System.Windows.Forms.DragEventHandler (this.listBox2_DragEnter); / / / / Form1 / / this.AutoScaleBaseSize = new System.Drawing.Size (6, 14); this.ClientSize = new System.Drawing.Size (408, 333); this.Controls.Add (this.listBox1); this.Controls.Add (this.listBox2); this.Name = "Form1"; this.Text = "Form1"; this.Load + = new System.EventHandler (this.Form1_Load); this.ResumeLayout (false);
) # Endregion
/ / /  / / / Application main entry point. / / /  [STAThread] static void Main () ( Application.Run (new Form1 ()); )
private void Form1_Load (object sender, System.EventArgs e) ( this.listBox1.AllowDrop = true; this.listBox2.AllowDrop = true; this.listBox1.Items.Add ("a"); this.listBox1.Items.Add ("b"); this.listBox1.Items.Add ("c"); )
private void listBox1_MouseDown (object sender, System.Windows.Forms.MouseEventArgs e) ( this.listBox1.DoDragDrop (this.listBox1.Items [this.listBox1.SelectedIndex], DragDropEffects.Move); )
private void listBox2_DragEnter (object sender, System.Windows.Forms.DragEventArgs e) ( if (e.Data.GetDataPresent ("Text")) ( e.Effect = DragDropEffects.Move; ) )
private void listBox2_DragDrop (object sender, System.Windows.Forms.DragEventArgs e) ( this.listBox2.Items.Add (e.Data.GetData ("Text")); this.listBox1.Items.Remove (e.Data.GetData ("Text")); ) ) )

. NET drag and drop operation


In the application, through processing a series of events, such as DragEnter, DragLeave and DragDrop events to implement the application in the Windows drag and drop operation. Parameters of these events through the use of the available information, you can easily drag and drop. 
Drag and drop in the code is achieved through three steps, first start the drag and drop, drag the data control is needed to achieve MouseDown event response code, and calls DoDragDrop () method; followed by drag and drop effects, the target Add DragEnter event on the control response code, the use of mobile DragDropEffects enumerated type or copy and other drag effect; the last data operation is placed in the target control to add DragDrop response code, the data added to the target control. 
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data;
namespace DragDrop ( / / /  / / / Form1 summary description. / / /  public class Form1: System.Windows.Forms.Form ( private System.Windows.Forms.ListBox listBox1; private System.Windows.Forms.ListBox listBox2; / / /  / / / Required designer variable. / / /  private System.ComponentModel.Container components = null;
public Form1 () ( / / / / Windows Form Designer support necessary / / InitializeComponent ();
/ / / / TODO: add in the InitializeComponent call any constructor code after / / )
/ / /  / / / Clean up any resources being used. / / /  protected override void Dispose (bool disposing) ( if (disposing) ( if (components! = null) ( components.Dispose (); ) ) base.Dispose (disposing); )
# Region Windows Form Designer generated code / / /  / / / Required method for Designer support - do not use the code editor to modify / / / The contents of this method. / / /  private void InitializeComponent () ( this.listBox1 = new System.Windows.Forms.ListBox (); this.listBox2 = new System.Windows.Forms.ListBox (); this.SuspendLayout (); / / / / ListBox1 / / this.listBox1.ItemHeight = 12; this.listBox1.Location = new System.Drawing.Point (32, 24); this.listBox1.Name = "listBox1"; this.listBox1.Size = new System.Drawing.Size (120, 280); this.listBox1.TabIndex = 0; this.listBox1.MouseDown + = new System.Windows.Forms.MouseEventHandler (this.listBox1_MouseDown); / / / / ListBox2 / / this.listBox2.ItemHeight = 12; this.listBox2.Location = new System.Drawing.Point (248, 24); this.listBox2.Name = "listBox2"; this.listBox2.Size = new System.Drawing.Size (120, 280); this.listBox2.TabIndex = 0; this.listBox2.DragDrop + = new System.Windows.Forms.DragEventHandler (this.listBox2_DragDrop); this.listBox2.DragEnter + = new System.Windows.Forms.DragEventHandler (this.listBox2_DragEnter); / / / / Form1 / / this.AutoScaleBaseSize = new System.Drawing.Size (6, 14); this.ClientSize = new System.Drawing.Size (408, 333); this.Controls.Add (this.listBox1); this.Controls.Add (this.listBox2); this.Name = "Form1"; this.Text = "Form1"; this.Load + = new System.EventHandler (this.Form1_Load); this.ResumeLayout (false);
) # Endregion
/ / /  / / / Application main entry point. / / /  [STAThread] static void Main () ( Application.Run (new Form1 ()); )
private void Form1_Load (object sender, System.EventArgs e) ( this.listBox1.AllowDrop = true; this.listBox2.AllowDrop = true; this.listBox1.Items.Add ("a"); this.listBox1.Items.Add ("b"); this.listBox1.Items.Add ("c"); )
private void listBox1_MouseDown (object sender, System.Windows.Forms.MouseEventArgs e) ( this.listBox1.DoDragDrop (this.listBox1.Items [this.listBox1.SelectedIndex], DragDropEffects.Move); )
private void listBox2_DragEnter (object sender, System.Windows.Forms.DragEventArgs e) ( if (e.Data.GetDataPresent ("Text")) ( e.Effect = DragDropEffects.Move; ) )
private void listBox2_DragDrop (object sender, System.Windows.Forms.DragEventArgs e) ( this.listBox2.Items.Add (e.Data.GetData ("Text")); this.listBox1.Items.Remove (e.Data.GetData ("Text")); ) ) )