WPF学习笔记- 自定义MessageBox,可设置按钮显示语言

文章目录

  • 1.根据自己需要创建自己的消息框
  • 2.准备显示语言信息
  • 3.逻辑编写
  • 4.开发显示语言设置
  • 5.测试
    • 5.1测试界面
    • 5.2中文界面测试结果
    • 5.3 英文按钮效果

1.根据自己需要创建自己的消息框

WPF学习笔记- 自定义MessageBox,可设置按钮显示语言_第1张图片

2.准备显示语言信息

使用静态方法调用消息框代码如下:

3.逻辑编写

        /// 
        /// 确定按钮
        /// 
        /// 
        /// 
        private void Btn_Left_Click(object sender, RoutedEventArgs e)
        {
            //设置窗体关闭结果
            this.DialogResult = true;
            this.Close();
        }

        /// 
        /// 取消按钮
        /// 
        /// 
        /// 
        private void Btn_Right_Click(object sender, RoutedEventArgs e)
        {
            //设置窗体关闭结果
            this.DialogResult = false;
            this.Close();
        }

        /// 
        /// 按钮显示设置
        /// 
        /// 
        private void ShowButton(MessageBoxButton MessageBoxButton)
        {
            switch (MessageBoxButton)
            {
                case MessageBoxButton.OK:
                    this.btn_Left.Visibility = Visibility.Hidden;
                    this.btn_Right.Visibility = Visibility.Visible;
                    this.btn_Right.Content = Strings.OK;
                    break;
                case MessageBoxButton.YesNo:
                    this.btn_Left.Visibility = Visibility.Visible;
                    this.btn_Right.Visibility = Visibility.Visible;
                    this.btn_Left.Content = Strings.Yes;
                    this.btn_Right.Content = Strings.No;
                    break;
                case MessageBoxButton.OKCancel:
                    this.btn_Left.Visibility = Visibility.Visible;
                    this.btn_Right.Visibility = Visibility.Visible;
                    this.btn_Left.Content = Strings.OK;
                    this.btn_Right.Content = Strings.Cancel;
                    break;
                default:
                    this.btn_Left.Visibility = Visibility.Hidden;
                    this.btn_Right.Visibility = Visibility.Visible;
                    this.btn_Right.Content = Strings.OK;
                    break;
            }
        }

        /// 
        /// 只添加提示内容显示
        /// 
        /// 要提示的内容
        /// 
        public static bool? Show(string notice)
        {
            UdMessageBox myMessage = new UdMessageBox();
            myMessage.lb_Title.Content = "";
            myMessage.lb_Notice.Content = notice;
            myMessage.image_Warning.Visibility = Visibility.Collapsed;
            myMessage.ShowButton(MessageBoxButton.OK);

            myMessage.ShowDialog();

            return true;
        }

        /// 
        /// 显示提示内容和标题头
        /// 
        /// 
        /// 
        /// 
        public static bool? Show(string notice, string title)
        {
            UdMessageBox myMessage = new UdMessageBox();
            myMessage.lb_Title.Content = title;
            myMessage.lb_Notice.Content = notice;
            myMessage.image_Warning.Visibility = Visibility.Collapsed;

            myMessage.ShowButton(MessageBoxButton.OK);

            myMessage.ShowDialog();

            return true;
        }

        /// 
        /// 消息提示
        /// 
        /// 提示的内容
        /// 标题
        /// 按键类型
        /// 
        public static bool? Show(string notice, string title, MessageBoxButton MessageBoxButton)
        {
            UdMessageBox myMessage = new UdMessageBox();
            myMessage.lb_Title.Content = title;
            myMessage.lb_Notice.Content = notice;
            myMessage.image_Warning.Visibility = Visibility.Collapsed;

            myMessage.ShowButton(MessageBoxButton);

            return myMessage.ShowDialog();
        }

        /// 
        /// 消息提示
        /// 
        /// 提示的内容
        /// 标题
        /// 按键类型
        /// 提示的图标
        /// 
        public static bool? Show(string notice, string title, MessageBoxButton MessageBoxButton, Image image)
        {
            UdMessageBox myMessage = new UdMessageBox();
            myMessage.lb_Title.Content = title;
            myMessage.lb_Notice.Content = notice;
            myMessage.image_Warning.Visibility = Visibility.Visible;
            myMessage.image_Warning.Source = image.Source;

            myMessage.ShowButton(MessageBoxButton);

            return myMessage.ShowDialog();
        }

4.开发显示语言设置

public static global::System.Globalization.CultureInfo Culture 
        {
            get
            {
                return Strings.Culture;
            }
            set
            {
                Strings.Culture = value;
            }
        }

5.测试

5.1测试界面

WPF学习笔记- 自定义MessageBox,可设置按钮显示语言_第2张图片

5.2中文界面测试结果

WPF学习笔记- 自定义MessageBox,可设置按钮显示语言_第3张图片

WPF学习笔记- 自定义MessageBox,可设置按钮显示语言_第4张图片
WPF学习笔记- 自定义MessageBox,可设置按钮显示语言_第5张图片
WPF学习笔记- 自定义MessageBox,可设置按钮显示语言_第6张图片
WPF学习笔记- 自定义MessageBox,可设置按钮显示语言_第7张图片

5.3 英文按钮效果

WPF学习笔记- 自定义MessageBox,可设置按钮显示语言_第8张图片
WPF学习笔记- 自定义MessageBox,可设置按钮显示语言_第9张图片
WPF学习笔记- 自定义MessageBox,可设置按钮显示语言_第10张图片

你可能感兴趣的:(C#,双语言,WPF)