private void ShowView(OnScreenKeyboard.KeyboardViewId id) { if (!this.views.Contains((object)id)) { this.CreateView(id); } this.active = (OnScreenKeyboard.KeyboardView) this.views[(object)id]; this.image.Source = (ImageSource)this.active.Image; this.image.InvalidateMeasure(); this.scaleX = (double)this.active.Image.Width / (double)this.image.Width; this.scaleY = (double)this.active.Image.Height / (double)this.image.Height; this.offsetX = 0; this.offsetY = OnScreenKeyboard.Font.Height; }
private void CreateView(OnScreenKeyboard.KeyboardViewId id) { int num1 = 16; int num2 = 32; int num3 = 48; int[] numArray = new int[10] { num2, num2, num2, num2, num2, num2, num2, num2, num2, num2 }; System.Drawing.Bitmap bitmap = (System.Drawing.Bitmap)null; OnScreenKeyboard.KeyboardView keyboardView1 = new OnScreenKeyboard.KeyboardView() { RowHeight = num2 }; switch (id) { case OnScreenKeyboard.KeyboardViewId.Lowercase: bitmap = Resources.GetBitmap(Resources.BitmapResources.Keyboard_Lowercase); keyboardView1.RowColumnOffset = new int[4] { 0, num1, 0, 0 }; keyboardView1.ColumnWidth = new int[4][] { numArray, new int[9] { num2, num2, num2, num2, num2, num2, num2, num2, num2 }, new int[9] { num3, num2, num2, num2, num2, num2, num2, num2, num3 }, new int[5] { num3, num2, num2 * 5, num2, num3 } }; keyboardView1.Keys = new char[4][] { new char[10] { 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p' }, new char[9] { 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l' }, new char[9] { char.MinValue, 'z', 'x', 'c', 'v', 'b', 'n', 'm', char.MinValue }, new char[5] { char.MinValue, ',', ' ', '.', char.MinValue } }; OnScreenKeyboard.KeyboardView keyboardView2 = keyboardView1; Action[][] actionArray1 = new Action[4][]; int index1 = 2; Action[] actionArray2 = new Action[9]; actionArray2[0] = (Action)(() => this.ShowView(OnScreenKeyboard.KeyboardViewId.Uppercase)); actionArray2[8] = (Action)(() => this.Backspace()); actionArray1[index1] = actionArray2; actionArray1[3] = new Action[5] { (Action)(() => this.ShowView(OnScreenKeyboard.KeyboardViewId.Numbers)), null, null, null, (Action)(() => this.Close()) }; keyboardView2.SpecialKeys = actionArray1; break; case OnScreenKeyboard.KeyboardViewId.Uppercase: bitmap = Resources.GetBitmap(Resources.BitmapResources.Keyboard_Uppercase); keyboardView1.RowColumnOffset = new int[4] { 0, num1, 0, 0 }; keyboardView1.ColumnWidth = new int[4][] { numArray, new int[9] { num2, num2, num2, num2, num2, num2, num2, num2, num2 }, new int[9] { num3, num2, num2, num2, num2, num2, num2, num2, num3 }, new int[5] { num3, num2, num2 * 5, num2, num3 } }; keyboardView1.Keys = new char[4][] { new char[10] { 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P' }, new char[9] { 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L' }, new char[9] { char.MinValue, 'Z', 'X', 'C', 'V', 'B', 'N', 'M', char.MinValue }, new char[5] { char.MinValue, ',', ' ', '.', char.MinValue } }; OnScreenKeyboard.KeyboardView keyboardView3 = keyboardView1; Action[][] actionArray3 = new Action[4][]; int index2 = 2; Action[] actionArray4 = new Action[9]; actionArray4[0] = (Action)(() => this.ShowView(OnScreenKeyboard.KeyboardViewId.Lowercase)); actionArray4[8] = (Action)(() => this.Backspace()); actionArray3[index2] = actionArray4; actionArray3[3] = new Action[5] { (Action)(() => this.ShowView(OnScreenKeyboard.KeyboardViewId.Numbers)), null, null, null, (Action)(() => this.Close()) }; keyboardView3.SpecialKeys = actionArray3; break; case OnScreenKeyboard.KeyboardViewId.Numbers: bitmap = Resources.GetBitmap(Resources.BitmapResources.Keyboard_Numbers); keyboardView1.RowColumnOffset = new int[4]; keyboardView1.ColumnWidth = new int[4][] { numArray, numArray, new int[9] { num3, num2, num2, num2, num2, num2, num2, num2, num3 }, new int[5] { num3, num2, num2 * 5, num2, num3 } }; keyboardView1.Keys = new char[4][] { new char[10] { '1', '2', '3', '4', '5', '6', '7', '8', '9', '0' }, new char[10] { '@', '#', '$', '%', '&', '*', '-', '+', '(', ')' }, new char[9] { char.MinValue, '!', '"', '\'', ':', ';', '/', '?', char.MinValue }, new char[5] { char.MinValue, ',', ' ', '.', char.MinValue } }; OnScreenKeyboard.KeyboardView keyboardView4 = keyboardView1; Action[][] actionArray5 = new Action[4][]; int index3 = 2; Action[] actionArray6 = new Action[9]; actionArray6[0] = (Action)(() => this.ShowView(OnScreenKeyboard.KeyboardViewId.Symbols)); actionArray6[8] = (Action)(() => this.Backspace()); actionArray5[index3] = actionArray6; actionArray5[3] = new Action[5] { (Action)(() => this.ShowView(OnScreenKeyboard.KeyboardViewId.Lowercase)), null, null, null, (Action)(() => this.Close()) }; keyboardView4.SpecialKeys = actionArray5; break; case OnScreenKeyboard.KeyboardViewId.Symbols: bitmap = Resources.GetBitmap(Resources.BitmapResources.Keyboard_Symbols); keyboardView1.RowColumnOffset = new int[4]; keyboardView1.ColumnWidth = new int[4][] { numArray, numArray, new int[9] { num3, num2, num2, num2, num2, num2, num2, num2, num3 }, new int[5] { num3, num2, num2 * 5, num2, num3 } }; keyboardView1.Keys = new char[4][] { new char[10] { '~', '`', '|', '•', '√', 'π', '÷', '×', '{', '}' }, new char[10] { '\t', '£', '¢', '€', 'º', '^', '_', '=', '[', ']' }, new char[9] { char.MinValue, '™', '®', '©', '¶', '\\', '<', '>', char.MinValue }, new char[5] { char.MinValue, ',', ' ', '.', char.MinValue } }; OnScreenKeyboard.KeyboardView keyboardView5 = keyboardView1; Action[][] actionArray7 = new Action[4][]; int index4 = 2; Action[] actionArray8 = new Action[9]; actionArray8[0] = (Action)(() => this.ShowView(OnScreenKeyboard.KeyboardViewId.Numbers)); actionArray8[8] = (Action)(() => this.Backspace()); actionArray7[index4] = actionArray8; actionArray7[3] = new Action[5] { (Action)(() => this.ShowView(OnScreenKeyboard.KeyboardViewId.Lowercase)), null, null, null, (Action)(() => this.Close()) }; keyboardView5.SpecialKeys = actionArray7; break; } keyboardView1.Image = BitmapImage.FromGraphics(Graphics.FromImage((System.Drawing.Image)bitmap)); this.views.Add((object)id, (object)keyboardView1); }