Tuesday, August 25, 2009

Captcha Image (Visual Verification)

CAPTCHA stands for "Completely Automated Public Turing test to tell Computers and Humans Apart." What it means is, a program that can tell humans from machines using some type of generated test. A test most people can easily pass but a computer program cannot.
You've probably encountered such tests when signing up for an online email or forum account. The form might include an image of distorted text, like that seen above, which you are required to type into a text field.
The idea is to prevent spammers from using web bots to automatically post form data in order to create email accounts (for sending spam) or to submit feedback comments or guestbook entries containing spam messages. The text in the image is usually distorted to prevent the use of OCR (optical character reader) software to defeat the process. Hotmail, PayPal, Yahoo and a number of blog sites have employed this technique.
CaptchaImage.cs

using System;

using System.Drawing;

using System.Drawing.Drawing2D;

using System.Drawing.Imaging;

using System.Drawing.Text;

namespace CaptchaImage

{

/// <summary>

/// Summary description for CaptchaImage.

/// </summary>

public class CaptchaImage

{

// Public properties (all read-only).

public string Text

{

get { return this.text; }

}

public Bitmap Image

{

get { return this.image; }

}

public int Width

{

get { return this.width; }

}

public int Height

{

get { return this.height; }

}

// Internal properties.

private string text;

private int width;

private int height;

private string familyName;

private Bitmap image;

// For generating random numbers.

private Random random = new Random();

// =============================================================

// Initializes a new instance of the CaptchaImage class using the

// specified text, width and height.

//==============================================================

public CaptchaImage(string s, int width, int height)

{

this.text = s;

this.SetDimensions(width, height);

this.GenerateImage();

}

//===============================================================

// Initializes a new instance of the CaptchaImage class using the

// specified text, width, height and font family.

//===============================================================

public CaptchaImage(string s, int width, int height, string familyName)

{

this.text = s;

this.SetDimensions(width,height);

this.SetFamilyName(familyName);

this.GenerateImage();

}

//==============================================================

// This member overrides Object.Finalize.

//==============================================================

~CaptchaImage()

{

Dispose(false);

}

//============================================================

// Releases all resources used by this object.

//============================================================

public void Dispose()

{

GC.SuppressFinalize(this);

this.Dispose(true);

}

//===============================================================

// Custom Dispose method to clean up unmanaged resources.

//===============================================================

protected virtual void Dispose(bool disposing)

{

if (disposing)

// Dispose of the bitmap.

this.image.Dispose();

}

//=============================================================

// Sets the image width and height.

//=============================================================

private void SetDimensions(int width, int height)

{

// Check the width and height.

if (width <= 0)

throw new ArgumentOutOfRangeException("width",
width, "Argument out of range, must be greater than zero.");

if (width <= 0)

throw new ArgumentOutOfRangeException("height",
height, "Argument out of range, must be greater than zero.");

this.width = width;

this.height = height;

}

//=============================================================

// Sets the font used for the image text.

//=============================================================

private void SetFamilyName(string familyName)

{

// If the named font is not installed, default to a system font.

try

{

Font font = new
Font(this.familyName, 12F);

this.familyName = familyName;

font.Dispose();

}

catch (Exception ex)

{

this.familyName = System.Drawing.FontFamily.GenericSerif.Name;

}

}

//============================================================

// Creates the bitmap image.

//============================================================

private void GenerateImage()

{

// Create a new 32-bit bitmap image.

Bitmap bitmap = new
Bitmap(this.width, this.height, PixelFormat.Format32bppArgb);

// Create a graphics object for drawing.

Graphics g = Graphics.FromImage(bitmap);

g.SmoothingMode = SmoothingMode.AntiAlias;

Rectangle rect = new Rectangle(0, 0, this.width, this.height);

// Fill in the background.

//HatchStyle hs = (HatchStyle)Enum.Parse(typeof(HatchStyle), "0", true);

//HatchBrush hatchBrush = new HatchBrush(hs, Color.White, Color.White);

//HatchBrush hatchBrush = new HatchBrush(HatchStyle.SmallConfetti,
Color.LightGray, Color.White);

HatchBrush hatchBrush = new HatchBrush(HatchStyle.SmallConfetti,
Color.White, Color.White);

g.FillRectangle(hatchBrush, rect);

// Set up the text font.

SizeF size;

float fontSize = rect.Height + 2;

Font font;

// Adjust the font size until the text fits within the image.

do

{

fontSize--;

font = new Font(this.familyName, fontSize, FontStyle.Bold);

size = g.MeasureString(this.text, font);

} while (size.Width > rect.Width);

// Set up the text format.

StringFormat format = new StringFormat();

format.Alignment = StringAlignment.Center;

format.LineAlignment = StringAlignment.Center;

// Create a path using the text and warp it randomly.

GraphicsPath path = new GraphicsPath();

path.AddString(this.text, font.FontFamily, (int)font.Style,
font.Size, rect, format);

float v = 4F;

PointF[] points =
{

new PointF(this.random.Next(rect.Width) / v, this.random.Next(rect.Height) / v),new PointF(rect.Width - this.random.Next(rect.Width) / v, this.random.Next(rect.Height) / v),new PointF(this.random.Next(rect.Width) / v, rect.Height - this.random.Next(rect.Height) / v),new PointF(rect.Width - this.random.Next(rect.Width) / v, rect.Height - this.random.Next(rect.Height) / v)

};

Matrix matrix = new Matrix();

matrix.Translate(0F, 0F);

path.Warp(points, rect, matrix, WarpMode.Perspective, 0F);

// Draw the text.

hatchBrush = new HatchBrush(HatchStyle.Shingle,Color.Black,Color.Black);

g.FillPath(hatchBrush, path);

// Add some random noise.

int m = Math.Max(rect.Width, rect.Height);

for (int i = 0; i < (int)(rect.Width * rect.Height / 30F); i++)

{

int x = this.random.Next(rect.Width);

int y = this.random.Next(rect.Height);

int w = this.random.Next(m / 50);

int h = this.random.Next(m / 50);

g.FillEllipse(hatchBrush, x, y, w, h);

}

// Clean up.

font.Dispose();

hatchBrush.Dispose();

g.Dispose();

// Set the image.

this.image = bitmap;

}

}

}


JpegImage.aspx


<%@ Page Language="C#" AutoEventWireup="false" Codebehind="JpegImage.aspx.cs" Inherits="CaptchaImage.JpegImage"

%>

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

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title>Jpeg Captcha Image</title>

<meta name="GENERATOR" content="Microsoft Visual
Studio 7.0"
/>

<meta name="CODE_LANGUAGE" content="C#" />

<meta name="vs_defaultClientScript" content="JavaScript"
/>

<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"
/>

</head>

<body>

<form id="JpegImage" method="post" runat="server">

</form>

</body>

</html>

JpegImage.aspx.cs

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.ComponentModel;

using System.Drawing;

using System.Drawing.Imaging;

using System.Web.SessionState;

namespace CaptchaImage

{

public partial class JpegImage : BasePage

{

protected void Page_Load(object sender, EventArgs e)

{

if (this.Session["CaptchaImageText"] != null)

{

// Create a CAPTCHA image using the text stored in the Session object.

CaptchaImage ci =
new
CaptchaImage(this.Session["CaptchaImageText"].ToString(), 150, 20);//,"Century Schoolbook");

// Change the response headers to output a JPEG image.

this.Response.Clear();

this.Response.ContentType = "image/jpeg";

// Write the image to the response stream in JPEG format.

ci.Image.Save(this.Response.OutputStream, ImageFormat.Jpeg);

// Dispose of the CAPTCHA image object.

ci.Dispose();

}

}

#region Web Form Designer generated code

override protected void OnInit(EventArgs e)

{

// CODEGEN: This call is required by the ASP.NET Web Form Designer.
InitializeComponent();

base.OnInit(e);

}

/// <summary>

/// Required method for Designer support - do not modify

/// the contents of this method with the code editor.

/// </summary>

private void InitializeComponent()

{

this.Load += new System.EventHandler(this.Page_Load);

}

#endregion

}

}

Default.aspx

<asp:Image ID="imgAntiSpam" runat="server" Width="100px" Height="20px" BorderWidth="1px" BorderColor="#7F9DB9" />

<asp:TextBox ID="txtAntiSpam" runat="server" ToolTip="Anti-Spam" Width="47px" AutoCompleteType="disabled"></asp:TextBox>
protected void Page_Load(object sender, EventArgs e)

{

this.Session["CaptchaImageText"] = GenerateRandomCode();

imgAntiSpam.ImageUrl = "~/jpegImage.aspx";

}

private string GenerateRandomCode()

{

#region Random 1

Random objRandom = new Random();

StringBuilder returnStr = new StringBuilder();

string key = "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789";

char[] keylist = key.ToCharArray();

for (int intcnt = 0; intcnt < 4; intcnt++)//Numher of character

{

returnStr.Append(keylist[objRandom.Next(keylist.Length)]);

//temppwd += objRandom.Next(keylist.Length);

}

//return returnStr;

#endregion

#region Random 1

//string s1 = string.Empty;

//string s2 = string.Empty;

//for (int i = 0; i < 1; i++)

//{

// s1 = String.Concat(s1, this.random.Next(10).ToString());

// s2 = String.Concat(s2, this.random.Next(10).ToString());

//}

//int Sum = (int.Parse(s1) + int.Parse(s2));

//string returnStr = string.Empty;

//if (Sum % 2 == 0)

//{

// Sum = (int.Parse(s1) * int.Parse(s2));

// returnStr = s1 + " X " + s2 + " = ";

//}

//else

//{

// Sum = (int.Parse(s1) + int.Parse(s2));

// returnStr = s1 + " + " + s2 + " = ";

//}

//Session["CaptchaImageTextSum"] = Sum.ToString();

//return returnStr;

#endregion

Session["CaptchaImageTextSum"] = returnStr.ToString();

imgAntiSpam.ToolTip = returnStr.ToString();

returnStr.ToString();

}

Any Event

if (txtAntiSpam.Text.ToString().Equals(Session["CaptchaImageTextSum"].ToString()))

{

//true

}

For more http://www.codeproject.com/KB/aspnet/CaptchaImage.aspx

ASP.Net - Control ToolTip

ToolTip for all controls like DropDownList, ListBox, TextBox, etc....

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public class ToolTipHelper
{
public static void BindTooltip(System.Web.UI.Page p)
{
if (p == null p.Form == null)
return;
BindTooltip(p.Form.Controls);
}
public static void BindTooltip(ControlCollection cc)
{
try
{
if (cc == null)
return;
for (int i = 0; i < cc.Count; i++)
{
try
{
Control c = cc[i];
if (c.HasControls())
{
BindTooltip(c.Controls);
}
else
{
if (c.GetType().IsSubclassOf(typeof(ListControl)))
{
ListControl lc = (ListControl)c;
BindTooltip(lc);
}
}
}
catch
{
}
}
}
catch (Exception ex)
{
}
}
public static void BindTooltip(ListControl lc)
{
for (int i = 0; i < lc.Items.Count; i++)
{
lc.Items[i].Attributes.Add("title", lc.Items[i].Text);
}
}
}

Call as
ToolTipHelper.BindTooltip(ControlID);

.Net - Short cut keys


























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































Action




Key




View.ViewCode




Global::F7




View.ViewDesigner




Global::Shift+F7







Global::Alt+Enter




File.OpenFile




Global::Ctrl+O




File.SaveSelectedItems




Global::Ctrl+S




File.SaveAll




Global::Ctrl+Shift+S




Edit.Cut




Global::Ctrl+X

Global::Shift+Del




Edit.Copy




Global::Ctrl+C

Global::Ctrl+Ins




Edit.Paste




Global::Ctrl+V

Global::Shift+Ins




View.NavigateForward




Global::Ctrl+Shift+-




Debug.Start




Global::F5




Edit.FindinFiles




Global::Ctrl+Shift+F




Edit.GoToFindCombo




Global::Ctrl+D




View.SolutionExplorer




Global::Ctrl+Alt+L




View.PropertiesWindow




Global::F4




View.ObjectBrowser




Global::Ctrl+Alt+J




View.Toolbox




Global::Ctrl+Alt+X




File.NewProject




Global::Ctrl+Shift+N




Edit.Undo




Global::Ctrl+Z

Global::Alt+Bkspce




View.NextView




HTML Editor HTML View::Ctrl+PgDn

HTML Editor Design View::Ctrl+PgDn

XML Editor Schema View::Ctrl+PgDn

XML Editor Data View::Ctrl+PgDn




View.VisibleBorders




HTML Editor Design View::Ctrl+Q




View.Details




HTML Editor Design View::Ctrl+Shift+Q




Project.Override




Global::Ctrl+Alt+Ins




File.AddNewItem




Global::Ctrl+Shift+A




File.AddExistingItem




Global::Shift+Alt+A




Build.BuildSolution




Global::Ctrl+Shift+B




Build.Cancel




Global::Ctrl+Break




Build.Compile




Global::Ctrl+F7




Debug.Breakpoints




Global::Ctrl+Alt+B




Debug.RunningDocuments




Global::Ctrl+Alt+N




Debug.Watch1




Global::Ctrl+Alt+W, 1




Debug.Watch2




Global::Ctrl+Alt+W, 2




Debug.Watch3




Global::Ctrl+Alt+W, 3




Debug.Watch4




Global::Ctrl+Alt+W, 4




Debug.Autos




Global::Ctrl+Alt+V, A




Debug.Locals




Global::Ctrl+Alt+V, L




Debug.This




Global::Ctrl+Alt+V, T




Debug.Immediate




Global::Ctrl+Alt+I




Debug.CallStack




Global::Ctrl+Alt+C




Debug.Threads




Global::Ctrl+Alt+H




Debug.Modules




Global::Ctrl+Alt+U




Debug.Memory1




Global::Ctrl+Alt+M, 1




Debug.Memory2




Global::Ctrl+Alt+M, 2




Debug.Memory3




Global::Ctrl+Alt+M, 3




Debug.Memory4




Global::Ctrl+Alt+M, 4




Debug.Disassembly




Global::Ctrl+Alt+D




Debug.Registers




Global::Ctrl+Alt+G




Debug.ToggleDisassembly




Global::Ctrl+F11




Debug.StartWithoutDebugging




Global::Ctrl+F5




Debug.BreakAll




Global::Ctrl+Alt+Break




Debug.StopDebugging




Global::Shift+F5




Debug.Restart




Global::Ctrl+Shift+F5




Debug.ApplyCodeChanges




Global::Alt+F10




Debug.Exceptions




Global::Ctrl+Alt+E




Debug.StepInto




Global::F11




Debug.StepOver




Global::F10




Debug.StepOut




Global::Shift+F11




Debug.QuickWatch




Global::Ctrl+Alt+Q

Global::Shift+F9




Debug.NewBreakpoint




Global::Ctrl+B




Debug.ClearAllBreakpoints




Global::Ctrl+Shift+F9




Database.Run




Global::Ctrl+E




Database.RunSelection




Global::Ctrl+Q




Database.StepInto




Global::Alt+F5




Schema.Expand




XML Editor Schema View::Ctrl+=




Schema.Collapse




XML Editor Schema View::Ctrl+-




Query.Run




Query Designer::Ctrl+R

View Designer::Ctrl+R




Format.Bold




HTML Editor Design View::Ctrl+B




Format.Italic




HTML Editor Design View::Ctrl+I




Format.Underline




HTML Editor Design View::Ctrl+U




Format.ConverttoHyperlink




HTML Editor Design View::Ctrl+L




Format.InsertBookmark




HTML Editor Design View::Ctrl+Shift+L




Format.DecreaseIndent




HTML Editor Design View::Ctrl+Shift+T




Format.IncreaseIndent




HTML Editor Design View::Ctrl+T




Format.AlignLefts




VC Dialog Editor::Ctrl+Shift+Left Arrow




Format.AlignCenters




VC Dialog Editor::Shift+F9




Format.AlignRights




VC Dialog Editor::Ctrl+Shift+Right Arrow




Format.AlignTops




VC Dialog Editor::Ctrl+Shift+Up Arrow




Format.AlignMiddles




VC Dialog Editor::F9




Format.AlignBottoms




VC Dialog Editor::Ctrl+Shift+Down Arrow




Format.SpaceAcross




VC Dialog Editor::Alt+Left Arrow

VC Dialog Editor::Alt+Right Arrow




Format.SpaceDown




VC Dialog Editor::Alt+Down Arrow

VC Dialog Editor::Alt+Up Arrow




Format.ButtonRight




VC Dialog Editor::Ctrl+R




Format.ButtonBottom




VC Dialog Editor::Ctrl+B




Format.CenterVertical




VC Dialog Editor::Ctrl+F9




Format.CenterHorizontal




VC Dialog Editor::Ctrl+Shift+F9




Format.SizetoContent




VC Dialog Editor::Shift+F7




Format.TabOrder




VC Dialog Editor::Ctrl+D




Format.ShowGrid




HTML Editor Design View::Ctrl+G




Format.SnaptoGrid




HTML Editor Design View::Ctrl+Shift+G




Format.ToggleGuides




VC Dialog Editor::Ctrl+G




Format.CheckMnemonics




VC Dialog Editor::Ctrl+M




Format.TestDialog




VC Dialog Editor::Ctrl+T




Format.LockElement




HTML Editor Design View::Ctrl+Shift+K




Table.InsertColumntotheLeft




HTML Editor Design View::Ctrl+Alt+Left Arrow




Table.InsertColumntotheRight




HTML Editor Design View::Ctrl+Alt+Right Arrow




Table.InsertRowAbove




HTML Editor Design View::Ctrl+Alt+Up Arrow




Table.InsertRowBelow




HTML Editor Design View::Ctrl+Alt+Down Arrow




Tools.DebugProcesses




Global::Ctrl+Alt+P




Image.FlipHorizontal




VC Image Editor::Ctrl+H




Image.FlipVertical




VC Image Editor::Shift+Alt+H




Image.Rotate90Degrees




VC Image Editor::Ctrl+Shift+H




Image.UseSelectionasBrush




VC Image Editor::Ctrl+U




Image.CopyAndOutlineSelection




VC Image Editor::Ctrl+Shift+U




Image.DrawOpaque




VC Image Editor::Ctrl+J




Image.NewImageType




VC Image Editor::Ins




Image.RectangleSelectionTool




VC Image Editor::Shift+Alt+S




Image.EraseTool




VC Image Editor::Ctrl+Shift+I




Image.FillTool




VC Image Editor::Ctrl+F




Image.MagnificationTool




VC Image Editor::Ctrl+M




Image.PencilTool




VC Image Editor::Ctrl+I




Image.BrushTool




VC Image Editor::Ctrl+B




Image.AirbrushTool




VC Image Editor::Ctrl+A




Image.LineTool




VC Image Editor::Ctrl+L




Image.TextTool




VC Image Editor::Ctrl+T




Image.RectangleTool




VC Image Editor::Alt+R




Image.OutlinedRectangleTool




VC Image Editor::Shift+Alt+R




Image.FilledRectangleTool




VC Image Editor::Ctrl+Shift+Alt+R




Image.RoundedRectangleTool




VC Image Editor::Alt+W




Image.OutlinedRoundedRectangleTool




VC Image Editor::Shift+Alt+W




Image.FilledRoundedRectangleTool




VC Image Editor::Ctrl+Shift+Alt+W




Image.EllipseTool




VC Image Editor::Alt+P




Image.OutlinedEllipseTool




VC Image Editor::Shift+Alt+P




Image.FilledEllipseTool




VC Image Editor::Ctrl+Shift+Alt+P




Image.ShowTileGrid




VC Image Editor::Ctrl+Shift+Alt+S




Image.ShowGrid




VC Image Editor::Ctrl+Alt+S




Image.LargerBrush




VC Image Editor::Ctrl+=




Image.SmallerBrush




VC Image Editor::Ctrl+-




Image.SmallBrush




VC Image Editor::Ctrl+.




Image.ZoomIn




VC Image Editor::Ctrl+Up Arrow

VC Image Editor::Ctrl+Shift+.




Image.ZoomOut




VC Image Editor::Ctrl+Down Arrow

VC Image Editor::Ctrl+Shift+,




Image.PreviousColor




VC Image Editor::Ctrl+Left Arrow

VC Image Editor::Ctrl+[




Image.PreviousRightColor




VC Image Editor::Ctrl+Shift+Left Arrow

VC Image Editor::Ctrl+Shift+[




Image.NextColor




VC Image Editor::Ctrl+Right Arrow

VC Image Editor::Ctrl+]




Image.NextRightColor




VC Image Editor::Ctrl+Shift+Right Arrow

VC Image Editor::Ctrl+Shift+]




Image.Magnify




VC Image Editor::Ctrl+Shift+M




Help.DynamicHelp




Global::Ctrl+F1




View.NavigateBackward




Global::Ctrl+-




View.ClassView




Global::Ctrl+Shift+C




View.ServerExplorer




Global::Ctrl+Alt+S




View.ResourceView




Global::Ctrl+Shift+E




View.MacroExplorer




Global::Alt+F8




View.DocumentOutline




Global::Ctrl+Alt+T




View.TaskList




Global::Ctrl+Alt+K




View.CommandWindow




Global::Ctrl+Alt+A




View.Output




Global::Ctrl+Alt+O




View.FindSymbolResults




Global::Ctrl+Alt+F12




View.Favorites




Global::Ctrl+Alt+F




File.Print




Global::Ctrl+P




Edit.Redo




Global::Ctrl+Y

Global::Shift+Alt+Bkspce

Global::Ctrl+Shift+Z




Edit.SelectAll




Global::Ctrl+A




Edit.Find




Global::Ctrl+F




Edit.OpenFile




Global::Ctrl+Shift+G




Tools.RunTemporaryMacro




Global::Ctrl+Shift+P




Tools.RecordTemporaryMacro




Global::Ctrl+Shift+R




Tools.MacrosIDE




Global::Alt+F11




File.OpenProject




Global::Ctrl+Shift+O




File.NewFile




Global::Ctrl+N




Edit.Replace




Global::Ctrl+H




Edit.GoTo




Global::Ctrl+G




View.PropertyPages




Global::Shift+F4




View.FullScreen




Global::Shift+Alt+Enter




Debug.RunToCursor




Global::Ctrl+F10




Debug.ToggleBreakpoint




Global::F9




Help.Contents




Global::Ctrl+Alt+F1




Help.Index




Global::Ctrl+Alt+F2




Debug.SetNextStatement




Global::Ctrl+Shift+F10




Help.Search




Global::Ctrl+Alt+F3




Debug.ShowNextStatement




Global::Alt+Num *




Help.Searchresults




Global::Shift+Alt+F3




Help.Indexresults




Global::Shift+Alt+F2




Edit.Wildcard




Global::Alt+F3, P




Edit.ReplaceinFiles




Global::Ctrl+Shift+H







Global::Ctrl+5




Edit.GotoNextLocation




Global::F8




Edit.GotoPreviousLocation




Global::Shift+F8







Global::Ctrl+6




Window.NextTab




Global::Ctrl+PgDn




Window.PreviousTab




Global::Ctrl+PgUp

HTML Editor HTML View::Ctrl+PgUp




Window.CloseToolWindow




Global::Shift+Esc







Global::Ctrl+7




Window.ActivateDocumentWindow




Global::Esc




Window.MovetoDropdownBar




Global::Ctrl+F2




Window.NextPane




Global::Alt+F6




Window.PreviousPane




Global::Shift+Alt+F6







Global::Ctrl+Shift+Alt+T







Global::F2




Edit.HiddenText




Global::Alt+F3, H




Edit.MatchCase




Global::Alt+F3, C




Edit.WholeWord




Global::Alt+F3, W




Edit.RegularExpression




Global::Alt+F3, R




Edit.Up




Global::Alt+F3, B




Edit.StopSearch




Global::Alt+F3, S




View.NextTask




Global::Ctrl+Shift+F12




Edit.FindNext




Global::F3




Edit.FindPrevious




Global::Shift+F3




Edit.FindNextSelected




Global::Ctrl+F3




Edit.FindPreviousSelected




Global::Ctrl+Shift+F3




Debug.EnableBreakpoint




Global::Ctrl+F9




Help.F1Help




Global::F1




Tools.GoToCommandLine




Global::Ctrl+/




Window.NextSplitPane




Global::F6




Window.PreviousSplitPane




Global::Shift+F6




Window.NextDocumentWindow




Global::Ctrl+F6

Global::Ctrl+Tab




Window.PreviousDocumentWindow




Global::Ctrl+Shift+F6

Global::Ctrl+Shift+Tab




Edit.CycleClipboardRing




Global::Ctrl+Shift+V

Global::Ctrl+Shift+Ins




Window.CloseDocumentWindow




Global::Ctrl+F4




Tools.CommandWindowMarkMode




Global::Ctrl+Shift+M




Edit.GoToDefinition




Global::F12




Edit.GoToDeclaration




Global::Ctrl+F12




View.ObjectBrowserBack




Global::Alt+-




View.ObjectBrowserForward




Global::Shift+Alt+-




Edit.FindSymbol




Global::Alt+F12




Help.WindowHelp




Global::Shift+F1




View.PopBrowseContext




Global::Ctrl+Shift+8




Edit.GoToReference




Global::Shift+F12




View.BrowseNext




Global::Ctrl+Shift+1




View.BrowsePrevious




Global::Ctrl+Shift+2




Edit.QuickFindSymbol




Global::Shift+Alt+F12




Edit.MoveControlLeft




Global::Ctrl+Left Arrow

VC Dialog Editor::Left Arrow

Windows Forms Designer::Ctrl+Left Arrow




Edit.MoveControlDown




Global::Ctrl+Down Arrow

VC Dialog Editor::Down Arrow

Windows Forms Designer::Ctrl+Down Arrow




Edit.MoveControlRight




Global::Ctrl+Right Arrow

VC Dialog Editor::Right Arrow

Windows Forms Designer::Ctrl+Right Arrow




Edit.MoveControlUp




Global::Ctrl+Up Arrow

VC Dialog Editor::Up Arrow

Windows Forms Designer::Ctrl+Up Arrow




Edit.SizeControlDown




Global::Ctrl+Shift+Down Arrow

VC Dialog Editor::Shift+Down Arrow

Windows Forms Designer::Ctrl+Shift+Down Arrow




Edit.SizeControlUp




Global::Ctrl+Shift+Up Arrow

VC Dialog Editor::Shift+Up Arrow

Windows Forms Designer::Ctrl+Shift+Up Arrow




Edit.SizeControlLeft




Global::Ctrl+Shift+Left Arrow

VC Dialog Editor::Shift+Left Arrow

Windows Forms Designer::Ctrl+Shift+Left Arrow




Edit.SizeControlRight




Global::Ctrl+Shift+Right Arrow

VC Dialog Editor::Shift+Right Arrow

Windows Forms Designer::Ctrl+Shift+Right Arrow




Edit.ShowTileGrid




Global::Enter




Edit.MoveControlUpGrid




Global::Up Arrow




Edit.MoveControlDownGrid




Global::Down Arrow




Edit.MoveControlLeftGrid




Global::Left Arrow




Edit.MoveControlRightGrid




Global::Right Arrow




Edit.SizeControlRightGrid




Global::Shift+Right Arrow




Edit.SizeControlUpGrid




Global::Shift+Up Arrow




Edit.SizeControlLeftGrid




Global::Shift+Left Arrow




Edit.SizeControlDownGrid




Global::Shift+Down Arrow




Edit.SelectNextControl




Global::Tab




Edit.SelectPreviousControl




Global::Shift+Tab







Global::Alt+F9, D







Global::Alt+F9, P







Global::Alt+F9, S







Global::Alt+F9, A




View.ShowWebBrowser




Global::Ctrl+Alt+R




View.WebNavigateBack




WebBrowser::Alt+Left Arrow




View.WebNavigateForward




WebBrowser::Alt+Right Arrow




Help.Nexttopic




WebBrowser::Alt+Down Arrow




Help.Previoustopic




WebBrowser::Alt+Up Arrow




Edit.Delete




Global::Del




Edit.DeleteBackwards




Text Editor::Shift+Bkspce

Text Editor::Bkspce




Edit.BreakLine




Text Editor::Shift+Enter

Text Editor::Enter

Windows Forms Designer::Enter




Edit.InsertTab




Text Editor::Tab

Windows Forms Designer::Tab




Edit.TabLeft




Text Editor::Shift+Tab

Windows Forms Designer::Shift+Tab




Edit.CharLeft




Text Editor::Left Arrow

Windows Forms Designer::Left Arrow




Edit.CharLeftExtend




Text Editor::Shift+Left Arrow

Windows Forms Designer::Shift+Left Arrow




Edit.CharRight




Text Editor::Right Arrow

Windows Forms Designer::Right Arrow




Edit.CharRightExtend




Text Editor::Shift+Right Arrow

Windows Forms Designer::Shift+Right Arrow




Edit.LineUp




Text Editor::Up Arrow

Windows Forms Designer::Up Arrow




Edit.LineUpExtend




Text Editor::Shift+Up Arrow

Windows Forms Designer::Shift+Down Arrow




Edit.LineDown




Text Editor::Down Arrow

Windows Forms Designer::Down Arrow




Edit.LineDownExtend




Text Editor::Shift+Down Arrow

Windows Forms Designer::Shift+Up Arrow




Edit.DocumentStart




Text Editor::Ctrl+Home




Edit.DocumentStartExtend




Text Editor::Ctrl+Shift+Home




Edit.DocumentEnd




Text Editor::Ctrl+End




Edit.DocumentEndExtend




Text Editor::Ctrl+Shift+End




Edit.LineStart




Text Editor::Home




Edit.LineStartExtend




Text Editor::Shift+Home




Edit.LineEnd




Text Editor::End




Edit.LineEndExtend




Text Editor::Shift+End




Edit.PageUp




Text Editor::PgUp




Edit.PageUpExtend




Text Editor::Shift+PgUp




Edit.PageDown




Text Editor::PgDn




Edit.PageDownExtend




Text Editor::Shift+PgDn




Edit.ViewTop




Text Editor::Ctrl+PgUp




Edit.ViewTopExtend




Text Editor::Ctrl+Shift+PgUp




Edit.ViewBottom




Text Editor::Ctrl+PgDn




Edit.ViewBottomExtend




Text Editor::Ctrl+Shift+PgDn




Edit.ScrollLineUp




Text Editor::Ctrl+Up Arrow

VC Dialog Editor::Ctrl+Up Arrow




Edit.ScrollLineDown




Text Editor::Ctrl+Down Arrow

VC Dialog Editor::Ctrl+Down Arrow




Edit.MakeLowercase




Text Editor::Ctrl+U




Edit.MakeUppercase




Text Editor::Ctrl+Shift+U




Edit.SwapAnchor




Text Editor::Ctrl+R, Ctrl+P




Edit.GotoBrace




Text Editor::Ctrl+]




Edit.GotoBraceExtend




Text Editor::Ctrl+Shift+]




Edit.OvertypeMode




Text Editor::Ins




Edit.LineCut




Text Editor::Ctrl+L




Edit.LineDelete




Text Editor::Ctrl+Shift+L




Edit.DeleteHorizontalWhiteSpace




Text Editor::Ctrl+K, Ctrl+\




Edit.LineOpenAbove




Text Editor::Ctrl+Enter




Edit.LineOpenBelow




Text Editor::Ctrl+Shift+Enter




Edit.ClearBookmarks




Text Editor::Ctrl+K, Ctrl+L




Edit.ToggleBookmark




Text Editor::Ctrl+K, Ctrl+K




Edit.NextBookmark




Text Editor::Ctrl+K, Ctrl+N




Edit.PreviousBookmark




Text Editor::Ctrl+K, Ctrl+P




Edit.CharTranspose




Text Editor::Ctrl+T




Edit.WordTranspose




Text Editor::Ctrl+Shift+T




Edit.LineTranspose




Text Editor::Shift+Alt+T




Edit.SelectCurrentWord




Text Editor::Ctrl+W




Edit.WordDeleteToEnd




Text Editor::Ctrl+Del




Edit.WordDeleteToStart




Text Editor::Ctrl+Bkspce




Edit.WordPrevious




Text Editor::Ctrl+Left Arrow




Edit.WordPreviousExtend




Text Editor::Ctrl+Shift+Left Arrow




Edit.WordNext




Text Editor::Ctrl+Right Arrow




Edit.WordNextExtend




Text Editor::Ctrl+Shift+Right Arrow




Edit.SelectionCancel




Text Editor::Esc

Windows Forms Designer::Esc




Edit.ParameterInfo




Text Editor::Ctrl+Shift+Space




Edit.ViewWhiteSpace




Text Editor::Ctrl+R, Ctrl+W




Edit.CompleteWord




Text Editor::Alt+Right Arrow

Text Editor::Ctrl+Space




Edit.ListMembers




Text Editor::Ctrl+J




Edit.FormatSelection




Text Editor::Ctrl+K, Ctrl+F




Edit.ToggleTaskListShortcut




Text Editor::Ctrl+K, Ctrl+H




Edit.QuickInfo




Text Editor::Ctrl+K, Ctrl+I




Edit.CharLeftExtendColumn




Text Editor::Shift+Alt+Left Arrow




Edit.CharRightExtendColumn




Text Editor::Shift+Alt+Right Arrow




Edit.LineUpExtendColumn




Text Editor::Shift+Alt+Up Arrow




Edit.LineDownExtendColumn




Text Editor::Shift+Alt+Down Arrow




Edit.ToggleWordWrap




Text Editor::Ctrl+R, Ctrl+R




Edit.IncrementalSearch




Text Editor::Ctrl+I




Edit.ReverseIncrementalSearch




Text Editor::Ctrl+Shift+I




Edit.LineStartExtendColumn




Text Editor::Shift+Alt+Home




Edit.LineEndExtendColumn




Text Editor::Shift+Alt+End




Edit.WordPreviousExtendColumn




Text Editor::Ctrl+Shift+Alt+Left Arrow




Edit.WordNextExtendColumn




Text Editor::Ctrl+Shift+Alt+Right Arrow




Edit.HideSelection




Text Editor::Ctrl+M, Ctrl+H




Edit.ToggleOutliningExpansion




Text Editor::Ctrl+M, Ctrl+M




Edit.ToggleAllOutlining




Text Editor::Ctrl+M, Ctrl+L




Edit.StopOutlining




Text Editor::Ctrl+M, Ctrl+P




Edit.StopHidingCurrent




Text Editor::Ctrl+M, Ctrl+U




Edit.CollapsetoDefinitions




Text Editor::Ctrl+M, Ctrl+O




Edit.CommentSelection




Text Editor::Ctrl+K, Ctrl+C




Edit.UncommentSelection




Text Editor::Ctrl+K, Ctrl+U




Edit.SelectToLastGoBack




Text Editor::Ctrl+=




Edit.FormatDocument




Text Editor::Ctrl+K, Ctrl+D







HTML Editor HTML View::Ctrl+Shift+.




Edit.ScrollColumnLeft




VC Dialog Editor::Ctrl+Left Arrow




Edit.ScrollColumnRight




VC Dialog Editor::Ctrl+Right Arrow




Edit.NewString




VC String Editor::Ins




Edit.NewAccelerator




VC Accelerator Editor::Ins




Edit.NextKeyTyped




VC Accelerator Editor::Ctrl+W




View.SQL




Query Designer::Ctrl+3

View Designer::Ctrl+3




View.Diagram




Query Designer::Ctrl+1

View Designer::Ctrl+1




View.Results




Query Designer::Ctrl+4

View Designer::Ctrl+4




View.Grid




Query Designer::Ctrl+2

View Designer::Ctrl+2







Windows Forms Designer::Shift+Esc