前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C#WPF基础02

C#WPF基础02

作者头像
人类群星闪耀时
发布2023-11-30 18:52:43
1340
发布2023-11-30 18:52:43
举报

C#WPF基础02

Menu菜单

可分为普通菜单(Menu)和上下文菜单(ContextMenu俗称右键菜单),Menu下可以放Menuitems,Menuitem下又可以放Menuitem。

Dockpanel布局

直接指定控件的位置

代码语言:javascript
复制
<Window x:Class="day25test02.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:day25test02"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        //Dockpanel布局,直接指定控件的位置
        <DockPanel>
            <Menu DockPanel.Dock="Top">
                <MenuItem Header="选项1" FontSize="18">
                    <MenuItem Header="选择1"></MenuItem>
                    <MenuItem Header="选择1"></MenuItem>
                    <MenuItem Header="选择1"></MenuItem>
                </MenuItem>
                <MenuItem Header="选项2" FontSize="18">
                    <MenuItem Header="选择1"></MenuItem>
                    <MenuItem Header="选择1"></MenuItem>
                    <MenuItem Header="选择1"></MenuItem>
                </MenuItem>
                <MenuItem Header="选项3" FontSize="18">
                    <MenuItem Header="选择1"></MenuItem>
                    <MenuItem Header="选择1"></MenuItem>
                    <MenuItem Header="选择1"></MenuItem>
                </MenuItem>
                <MenuItem Header="选项4" FontSize="18">
                    <MenuItem Header="选择1"></MenuItem>
                    <MenuItem Header="选择1"></MenuItem>
                    <MenuItem Header="选择1"></MenuItem>
                </MenuItem>
            </Menu>
        </DockPanel>
    </Grid>
</Window>
Toolbar 工具栏

一些常用的快捷按键操作。

代码语言:javascript
复制
<Window x:Class="day25test03.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:day25test03"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <DockPanel>
            <Menu DockPanel.Dock="Top">
                <MenuItem Header="选项1" FontSize="18">
                    <MenuItem Header="选择1"></MenuItem>
                    <MenuItem Header="选择1"></MenuItem>
                    <MenuItem Header="选择1"></MenuItem>
                </MenuItem>
                <MenuItem Header="选项2" FontSize="18">
                    <MenuItem Header="选择1"></MenuItem>
                    <MenuItem Header="选择1"></MenuItem>
                    <MenuItem Header="选择1"></MenuItem>
                </MenuItem>
                <MenuItem Header="选项3" FontSize="18">
                    <MenuItem Header="选择1"></MenuItem>
                    <MenuItem Header="选择1"></MenuItem>
                    <MenuItem Header="选择1"></MenuItem>
                </MenuItem>
                <MenuItem Header="选项4" FontSize="18">
                    <MenuItem Header="选择1"></MenuItem>
                    <MenuItem Header="选择1"></MenuItem>
                    <MenuItem Header="选择1"></MenuItem>
                </MenuItem>
            </Menu>
            <ToolBar DockPanel.Dock="Top" Height="30">
                <Button>
                    <Button.Content>
                        <Image Source="imgs/1.ico"></Image></Button.Content>
                </Button>
                <Button>
                    <Button.Content>
                        <Image Source="imgs/2.ico"></Image>
                    </Button.Content>
                </Button>
                <CheckBox>
                    <CheckBox.ToolTip>
                        <Image Source="imgs/3.ico"></Image>
                    </CheckBox.ToolTip>
                </CheckBox>
                <TextBox></TextBox>
            </ToolBar>
            <TextBox DockPanel.Dock="Bottom"></TextBox>
        </DockPanel>
    </Grid>
</Window>
多窗口

几个常用属性:

ResizeMode = NoResize; 不能缩放

WindowState = “Maximized”; 最大化

WindowStartupLocation = “CenterScreen”; 窗口初始位置

代码语言:javascript
复制
private void Button_Click(object sender, RoutedEventArgs e)
        {
            Window1 window1 = new Window1();
            //打开一个窗体,直到关闭
            window1.ShowDialog();
        }
代码语言:javascript
复制
<Window x:Class="day25tset04.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:day25tset04"
        mc:Ignorable="d"        
        Title="属性" Height="450" Width="800" ResizeMode="NoResize" WindowStartupLocation="CenterScreen">
    <!--改变窗体的标题,是否可改变大小,显示窗口正中央-->
    <Grid>
        <TextBox HorizontalAlignment="Left" Height="198" Margin="184,99,0,0" TextWrapping="Wrap" Text="这是对话框" VerticalAlignment="Top" Width="360"/>

    </Grid>
</Window>

窗口之间的传值通过属性来实现。

多窗口案例

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;

namespace day25test05
{
    /// <summary>
    /// AboutWindow.xaml 的交互逻辑
    /// </summary>
    public partial class AboutWindow : Window
    {
        public String intput { get; set; }
        public AboutWindow()
        {
            InitializeComponent();
        }

        private void btnok_Click(object sender, RoutedEventArgs e)
        {
            intput = intputtxt.Text;
            DialogResult = true;
            //如果窗口是showdialog打开的,则DialogResult会自动关闭窗口,并且把DialogResult的值通过shoudialog方法的返回值返回
        }

        private void btnno_Click(object sender, RoutedEventArgs e)
        {
            DialogResult = false;
        }
    }
}
文件对话框
代码语言:javascript
复制
//打开文件对话框
            /*OpenFileDialog ofd = new OpenFileDialog();
            //打开的文件框的筛选器
            ofd.Filter = "文本文件|*.txt|PNG图片|*.png";
            
            if(ofd.ShowDialog() == true) { String str = ofd.FileName; MessageBox.Show("ok"+str); }
            else { MessageBox.Show("no"); }*/

            //保存文件对话框
            /*SaveFileDialog sfd = new SaveFileDialog();
            sfd.Filter = "文本文件|*.txt|PNG图片|*.png";
            if (sfd.ShowDialog() == true)
            {
                MessageBox.Show(sfd.FileName);
            }
            else
            {
                MessageBox.Show("no");
            }*/
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • C#WPF基础02
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档