示例#1
0
        private void ResizableForm_SizeChanged(object sender, EventArgs e)
        {
            //如果窗体的大小在改变过程中小于窗体尺寸的初始值,则窗体中的各个控件自动重置为初始尺寸,且窗体自动添加滚动条
            if (this.Size.Width < FormSizeWidth || this.Size.Height < FormSizeHeight)
            {
                foreach (DictionaryEntry item in satesOfAllCtrl)
                {
                    Control         ctrl = (Control)item.Key;
                    SizeAndPosition temp = (SizeAndPosition)item.Value;

                    ctrl.Width = temp.width;

                    ctrl.Height = temp.height;

                    ctrl.Bounds = new Rectangle(new Point(temp.locationX, temp.locationY),
                                                ctrl.Size);
                }
                this.AutoScroll = true;
            }
            else
            //否则,重新设定窗体中所有控件的大小(窗体内所有控件的大小随窗体大小的变化而变化)
            {
                this.AutoScroll  = false;
                FormSizeChangedX = this.Size.Width / (double)FormSizeWidth;
                FormSizeChangedY = (double)this.Size.Height / (double)FormSizeHeight;

                foreach (DictionaryEntry item in satesOfAllCtrl)
                {
                    Control         ctrl = (Control)item.Key;
                    SizeAndPosition temp = (SizeAndPosition)item.Value;

                    ctrl.Width = (int)(temp.width * FormSizeChangedX);

                    ctrl.Height = (int)(temp.height * FormSizeChangedY);

                    ctrl.Bounds = new Rectangle(new Point((int)(temp.locationX * FormSizeChangedX), (int)(temp.locationY * FormSizeChangedY)),
                                                ctrl.Size);
                }
            }
        }
        private void InitialiseKeyboard(IWindowManipulationService windowManipulationService)
        {
            if (Settings.Default.ConversationOnlyMode)
            {
                Keyboard = new ConversationAlpha(null);
                windowManipulationService.Maximise();
            }
            else
            {
                switch (Settings.Default.StartupKeyboard)
                {
                case Enums.Keyboards.Alpha:
                    Keyboard = new Alpha();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    windowManipulationService.Maximise();
                    break;

                case Enums.Keyboards.ConversationAlpha:
                    Keyboard = new ConversationAlpha(() =>
                    {
                        Keyboard = new Menu(() => Keyboard = new Alpha());
                        mainWindowManipulationService.Restore();
                        mainWindowManipulationService.ResizeDockToFull();
                    });
                    windowManipulationService.Maximise();
                    break;

                case Enums.Keyboards.ConversationNumericAndSymbols:
                    Keyboard = new ConversationNumericAndSymbols(() =>
                    {
                        Keyboard = new Menu(() => Keyboard = new Alpha());
                        mainWindowManipulationService.Restore();
                        mainWindowManipulationService.ResizeDockToFull();
                    });
                    windowManipulationService.Maximise();
                    break;

                case Enums.Keyboards.Currencies1:
                    Keyboard = new Currencies1();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.Currencies2:
                    Keyboard = new Currencies2();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.Diacritics1:
                    Keyboard = new Diacritics1();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.Diacritics2:
                    Keyboard = new Diacritics2();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.Diacritics3:
                    Keyboard = new Diacritics3();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.Food:
                    Keyboard = new Food();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.Menu:
                    Keyboard = new Menu(() => Keyboard = new Alpha());
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.Minimised:
                    Keyboard = new Minimised(() =>
                    {
                        Keyboard = new Menu(() => Keyboard = new Alpha());
                        windowManipulationService.Restore();
                        mainWindowManipulationService.ResizeDockToFull();
                    });
                    windowManipulationService.Minimise();
                    break;

                case Enums.Keyboards.Mouse:
                    Keyboard = new Mouse(() => Keyboard = new Menu(() => Keyboard = new Alpha()));
                    windowManipulationService.Restore();
                    if (Settings.Default.MouseKeyboardDockSize == DockSizes.Full)
                    {
                        mainWindowManipulationService.ResizeDockToFull();
                    }
                    else
                    {
                        mainWindowManipulationService.ResizeDockToCollapsed();
                    }
                    break;

                case Enums.Keyboards.NumericAndSymbols1:
                    Keyboard = new NumericAndSymbols1();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.NumericAndSymbols2:
                    Keyboard = new NumericAndSymbols2();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.NumericAndSymbols3:
                    Keyboard = new NumericAndSymbols3();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.PhysicalKeys:
                    Keyboard = new PhysicalKeys();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.SizeAndPosition:
                    Keyboard = new SizeAndPosition(() => Keyboard = new Menu(() => Keyboard = new Alpha()));
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.emotionKeyboardKeyboard:
                    Keyboard = new emotionKeyboard();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.PeopleKeyboard:
                    Keyboard = new People();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.SportKeyboard:
                    Keyboard = new Sport();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.CountriesKeyboard:
                    Keyboard = new Countries();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.PlacesKeyboard:
                    Keyboard = new Places();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.WeatherKeyboard:
                    Keyboard = new Weather();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.BathroomKeyboard:
                    Keyboard = new Bathroom();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.HouseholdKeyboard:
                    Keyboard = new Household();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.ClothesKeyboard:
                    Keyboard = new Clothes();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.EntertainmentKeyboard:
                    Keyboard = new Entertainment();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.TimeKeyboard:
                    Keyboard = new Time();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.GesturesKeyboard:
                    Keyboard = new Gestures();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.AnimalsKeyboard:
                    Keyboard = new Animals();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.DrinksKeyboard:
                    Keyboard = new Drinks();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.FruitsKeyboard:
                    Keyboard = new Fruits();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.VegetablesKeyboard:
                    Keyboard = new Vegetables();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;
                }
            }
        }
示例#3
0
        private void InitialiseKeyboard(IWindowManipulationService windowManipulationService)
        {
            if (Settings.Default.ConversationOnlyMode)
            {
                Keyboard = new ConversationAlpha(null);
                windowManipulationService.Maximise();
            }
            else
            {
                switch (Settings.Default.StartupKeyboard)
                {
                case Enums.Keyboards.Alpha:
                    Keyboard = new Alpha();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.ConversationAlpha:
                    Keyboard = new ConversationAlpha(() =>
                    {
                        Keyboard = new Menu(() => Keyboard = new Alpha());
                        mainWindowManipulationService.Restore();
                        mainWindowManipulationService.ResizeDockToFull();
                    });
                    windowManipulationService.Maximise();
                    break;

                case Enums.Keyboards.ConversationNumericAndSymbols:
                    Keyboard = new ConversationNumericAndSymbols(() =>
                    {
                        Keyboard = new Menu(() => Keyboard = new Alpha());
                        mainWindowManipulationService.Restore();
                        mainWindowManipulationService.ResizeDockToFull();
                    });
                    windowManipulationService.Maximise();
                    break;

                case Enums.Keyboards.Currencies1:
                    Keyboard = new Currencies1();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.Currencies2:
                    Keyboard = new Currencies2();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.Diacritics1:
                    Keyboard = new Diacritics1();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.Diacritics2:
                    Keyboard = new Diacritics2();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.Diacritics3:
                    Keyboard = new Diacritics3();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.Menu:
                    Keyboard = new Menu(() => Keyboard = new Alpha());
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.Minimised:
                    Keyboard = new Minimised(() =>
                    {
                        Keyboard = new Menu(() => Keyboard = new Alpha());
                        windowManipulationService.Restore();
                        mainWindowManipulationService.ResizeDockToFull();
                    });
                    windowManipulationService.Minimise();
                    break;

                case Enums.Keyboards.Mouse:
                    Keyboard = new Mouse(() => Keyboard = new Menu(() => Keyboard = new Alpha()));
                    windowManipulationService.Restore();
                    if (Settings.Default.MouseKeyboardDockSize == DockSizes.Full)
                    {
                        mainWindowManipulationService.ResizeDockToFull();
                    }
                    else
                    {
                        mainWindowManipulationService.ResizeDockToCollapsed();
                    }
                    break;

                case Enums.Keyboards.NumericAndSymbols1:
                    Keyboard = new NumericAndSymbols1();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.NumericAndSymbols2:
                    Keyboard = new NumericAndSymbols2();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.NumericAndSymbols3:
                    Keyboard = new NumericAndSymbols3();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.PhysicalKeys:
                    Keyboard = new PhysicalKeys();
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;

                case Enums.Keyboards.SizeAndPosition:
                    Keyboard = new SizeAndPosition(() => Keyboard = new Menu(() => Keyboard = new Alpha()));
                    windowManipulationService.Restore();
                    mainWindowManipulationService.ResizeDockToFull();
                    break;
                }
            }
        }
示例#4
0
        private void SetKeyboardFromEnum(Enums.Keyboards keyboardEnum,
                                         IWindowManipulationService windowManipulationService,
                                         Action backAction)
        {
            // Set up the keyboard
            switch (keyboardEnum)
            {
            case Enums.Keyboards.Alpha:
                Keyboard = new Alpha1();
                break;

            case Enums.Keyboards.ConversationAlpha:
                Keyboard = new ConversationAlpha1(backAction);
                break;

            case Enums.Keyboards.ConversationNumericAndSymbols:
                Keyboard = new ConversationNumericAndSymbols(backAction);
                break;

            case Enums.Keyboards.ConversationConfirm:
                Keyboard = new ConversationConfirm(backAction);
                break;

            case Enums.Keyboards.Currencies1:
                Keyboard = new Currencies1();
                break;

            case Enums.Keyboards.Currencies2:
                Keyboard = new Currencies2();
                break;

            case Enums.Keyboards.CustomKeyboardFile:
                Keyboard = new DynamicKeyboard(backAction, (d) => { }, Settings.Default.StartupKeyboardFile);
                break;

            case Enums.Keyboards.Diacritics1:
                Keyboard = new Diacritics1();
                break;

            case Enums.Keyboards.Diacritics2:
                Keyboard = new Diacritics2();
                break;

            case Enums.Keyboards.Diacritics3:
                Keyboard = new Diacritics3();
                break;

            case Enums.Keyboards.Menu:
                Keyboard = new Menu(backAction);
                break;

            case Enums.Keyboards.Minimised:
                Keyboard = new Minimised(backAction);
                break;

            case Enums.Keyboards.Mouse:
                Keyboard = new Mouse(backAction);
                break;

            case Enums.Keyboards.NumericAndSymbols1:
                Keyboard = new NumericAndSymbols1();
                break;

            case Enums.Keyboards.NumericAndSymbols2:
                Keyboard = new NumericAndSymbols2();
                break;

            case Enums.Keyboards.NumericAndSymbols3:
                Keyboard = new NumericAndSymbols3();
                break;

            case Enums.Keyboards.PhysicalKeys:
                Keyboard = new PhysicalKeys();
                break;

            case Enums.Keyboards.SizeAndPosition:
                Keyboard = new SizeAndPosition(backAction);
                break;

            case Enums.Keyboards.WebBrowsing:
                Keyboard = new WebBrowsing();
                break;
            }

            // Set the window appropriately according to keyboard
            switch (Settings.Default.StartupKeyboard)
            {
            case Enums.Keyboards.ConversationAlpha:
            case Enums.Keyboards.ConversationConfirm:
            case Enums.Keyboards.ConversationNumericAndSymbols:
                windowManipulationService.Maximise();
                break;

            case Enums.Keyboards.Minimised:
                windowManipulationService.Minimise();
                break;

            case Enums.Keyboards.Mouse:
                windowManipulationService.Restore();
                if (Settings.Default.MouseKeyboardDockSize == DockSizes.Full)
                {
                    windowManipulationService.ResizeDockToFull();
                }
                else
                {
                    windowManipulationService.ResizeDockToCollapsed();
                }
                break;

            default:
                windowManipulationService.Restore();
                windowManipulationService.ResizeDockToFull();
                break;
            }
        }
示例#5
0
        private void SetKeyboardFromEnum(Enums.Keyboards keyboardEnum,
                                         IWindowManipulationService windowManipulationService,
                                         Action backAction)
        {
            if (Keyboard is Minimised && keyboardEnum == Enums.Keyboards.Minimised)
            {
                return;
            }
            // Set up the keyboard
            switch (keyboardEnum)
            {
            case Enums.Keyboards.Alpha:
                Keyboard = new Alpha1();
                break;

            case Enums.Keyboards.ConversationAlpha:
                Keyboard = new ConversationAlpha1(backAction);
                break;

            case Enums.Keyboards.ConversationNumericAndSymbols:
                Keyboard = new ConversationNumericAndSymbols(backAction);
                break;

            case Enums.Keyboards.ConversationConfirm:
                Keyboard = new ConversationConfirm(backAction);
                break;

            case Enums.Keyboards.Currencies1:
                Keyboard = new Currencies1();
                break;

            case Enums.Keyboards.Currencies2:
                Keyboard = new Currencies2();
                break;

            case Enums.Keyboards.CustomKeyboardFile:
                Keyboard = new DynamicKeyboard(backAction, keyStateService, Settings.Default.StartupKeyboardFile);
                break;

            case Enums.Keyboards.Diacritics1:
                Keyboard = new Diacritics1();
                break;

            case Enums.Keyboards.Diacritics2:
                Keyboard = new Diacritics2();
                break;

            case Enums.Keyboards.Diacritics3:
                Keyboard = new Diacritics3();
                break;

            case Enums.Keyboards.DynamicKeyboard:
                Keyboard = new DynamicKeyboardSelector(() => { }, 0);
                break;

            case Enums.Keyboards.Menu:
                Keyboard = new Menu(backAction);
                break;

            case Enums.Keyboards.Minimised:
                mainWindowManipulationService.Minimise();
                var currentKeyboard = Keyboard;
                Keyboard = new Minimised(() =>
                {
                    mainWindowManipulationService.Restore();
                    Keyboard = currentKeyboard != null ? currentKeyboard : new Menu(() => Keyboard = new Alpha1());
                });
                break;

            case Enums.Keyboards.Mouse:
                Keyboard = new Mouse(backAction);
                break;

            case Enums.Keyboards.NumericAndSymbols1:
                Keyboard = new NumericAndSymbols1();
                break;

            case Enums.Keyboards.NumericAndSymbols2:
                Keyboard = new NumericAndSymbols2();
                break;

            case Enums.Keyboards.NumericAndSymbols3:
                Keyboard = new NumericAndSymbols3();
                break;

            case Enums.Keyboards.PhysicalKeys:
                Keyboard = new PhysicalKeys();
                break;

            case Enums.Keyboards.SizeAndPosition:
                Keyboard = new SizeAndPosition(backAction);
                break;

            case Enums.Keyboards.WebBrowsing:
                Keyboard = new WebBrowsing();
                break;

            default:
                Log.ErrorFormat("Cannot load keyboard: {0}, this is not a valid StartupKeyboard",
                                Settings.Default.StartupKeyboard);
                break;
            }

            // Set the window appropriately according to keyboard
            switch (keyboardEnum)
            {
            case Enums.Keyboards.ConversationAlpha:
            case Enums.Keyboards.ConversationConfirm:
            case Enums.Keyboards.ConversationNumericAndSymbols:
                windowManipulationService.Maximise();
                break;

            case Enums.Keyboards.Minimised:
                break;

            case Enums.Keyboards.Mouse:
                windowManipulationService.Restore();
                if (Settings.Default.MouseKeyboardDockSize == DockSizes.Full)
                {
                    windowManipulationService.ResizeDockToFull();
                }
                else
                {
                    windowManipulationService.ResizeDockToCollapsed();
                }
                break;

            default:
                windowManipulationService.Restore();
                windowManipulationService.ResizeDockToFull();
                break;
            }
        }