C# Winform编程(6)高级控件

C# Winform编程(6)高级控件

  • RadioButton(单选框)
  • PictureBox(图像框)
  • TabControl(选项卡)
  • ProgressBar(进度条)
  • TrackBar(滑动条)
  • ImageList(图像列表控件)
  • ToolBar(工具栏)
  • StatusStrip(状态栏)
  • Timer(定时器)
  • ListView(列表显示)
  • TreeView(树型视图)

RadioButton(单选框)

  • 在一个容器(如Panel控件、GroupBox控件或窗体)内绘制的单选按钮即可将他们分组。
  • 若要添加不同的组,必须将它们放到面板或分组框中。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace 高级控件
{public partial class FormRadioButton : Form{public FormRadioButton(){InitializeComponent();}private void FormRadioButton_Load(object sender, EventArgs e){radioButton2.Checked = true;}private void button1_Click(object sender, EventArgs e){if (radioButton1.Checked){MessageBox.Show("微型", "型号选择");}else if (radioButton2.Checked){MessageBox.Show("小型", "型号选择");}else if (radioButton3.Checked){MessageBox.Show("中型", "型号选择");}else if (radioButton4.Checked) {MessageBox.Show("大型", "型号选择");}}}
}

在这里插入图片描述

PictureBox(图像框)

图片框用于显示图像,常用属性及方法:

  • 属性:
    • Image:用于指定图片框显示的图像,该图像可以设计或运行时设置
    • SizeMode:用于指定图像的显示方式。可以指定各种大小模式,包括AutoSize,CenterImage,Normal和StretchImage,默认值为Normal。
  • 方法:
    • Show:是否显示控件,设置为true时显示图片,为false时不显示。
  • 事件:
    • Click:用户点击控件时触发改事件。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace 高级控件
{public partial class FormPictureBox : Form{public FormPictureBox(){InitializeComponent();}public void showpicture(){// pictureBox1.Image = Image.FromFile(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal) + @"\1.png");// 指定图片显示属性为StretchImage类型pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;}private void pictureBox1_Click(object sender, EventArgs e){if (pictureBox1.Image != null){pictureBox1.Image.Dispose();pictureBox1.Image = null;}else {showpicture();}}}
}

TabControl(选项卡)

  • 属性:
    • MultiLine:指定是否可以显示多行选项卡。
    • SelectedIndex:当前所选择的选项卡索引值。从0开始,默认-1未选定状态。
    • SelectedTab:当前选定的选项卡页。未选定未NULL引用。
    • ShowToolTips:指定鼠标移至选项卡时,是否显示改选项卡的工具提示。
    • TabCount:检索选项卡控件中选项卡的数目。
    • Alignment:控制选项卡标签在控件中的显示位置。默认位置为控件的顶部。
    • Appearance:控制标签的显示方式。标签可以显示为一般的按钮或平面样式。
    • HotTrack :如果这个属性设置为True,当鼠标指针经过控件上的标签时,其外观会改变。
    • RowCount:返回当前显示的标签行数。
    • TabPages:控件中的TabPage对象集合。使用这个集合可以添加和删除TabPage对象。

选项卡编辑:
在这里插入图片描述
选项卡添加鼠标划过气泡提示:
在这里插入图片描述

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace 高级控件
{public partial class FormTabControl : Form{public FormTabControl(){InitializeComponent();}private void dateTimePicker1_ValueChanged(object sender, EventArgs e){}private void tabPage1_Click(object sender, EventArgs e){}private void tabControl1_SelectedIndexChanged(object sender, EventArgs e){label1.Text = "当前选项卡为:第"+tabControl1.SelectedIndex.ToString() + "页,选项卡页为:"+tabControl1.SelectedTab.Text+"选项卡总为:"+tabControl1.TabCount.ToString();}}
}

ProgressBar(进度条)

进度条控件是显示用户当前进程的控件:

  • 属性:
    • Maxinum:进度条控件的最大值。默认值为100。
    • Minimux: 进度条控件的最小值。默认值为0。
    • Step:PerformStep方法根据该属性增加进度条的光标位置的值。默认值10。
    • Value:进度条控制光标当前位置。默认值0。
  • 方法:
    • Increment:按指定的递增值移动进度条光标位置。
    • PerformStep:按Step属性的值移动进度条的光标位置。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace 高级控件
{public partial class FormProgressbar : Form{public FormProgressbar(){InitializeComponent();}private void progressBar1_Click(object sender, EventArgs e){progressBar1.Value++;}private void progressBar2_Click(object sender, EventArgs e){progressBar1.Value++;}}
}

TrackBar(滑动条)

在这里插入图片描述

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace 高级控件
{public partial class FormTrackBar : Form{public FormTrackBar(){InitializeComponent();}private void trackBar2_Scroll(object sender, EventArgs e){label2.Text = trackBar2.Value.ToString();}private void trackBar1_Scroll(object sender, EventArgs e){label1.Text = trackBar1.Value.ToString();}private void FormTrackBar_Load(object sender, EventArgs e){trackBar1.Minimum = 0;trackBar1.Maximum = 100;trackBar1.SmallChange = 5;trackBar1.TickFrequency = 10;trackBar2.Minimum = 0;trackBar2.Maximum = 100;trackBar2.SmallChange = 1;trackBar2.TickFrequency = 5;}}
}

ImageList(图像列表控件)

位于Systems.Windows.Forms命名空间内的ImageList控件,主要用于缓存用户预定义好的图片列表信息,该控件不可以单独使用显示图片内容,必须附着在其他控件联合使用才可以显示图片内容。

  • 属性:
    • Images:该属性表示图像列表中包含的图像的集合。
    • ImageSize:该属性表示图像的大小,默认高度和宽度为16x16,最大大小为256x256
  • 方法:
    • Draw:该方法用于绘制指定图像。

在这里插入图片描述

ToolBar(工具栏)

ToolBar控件主要用于窗体的顶部工具栏的实现。

  • 属性:
    • Buttons : 工具栏按钮控件的集合。
    • ShowToolTips:鼠标移动到各个工具栏按钮上时,是否显示相应的工具提示。
    • ImageIndex:工具栏按钮指定的图像在图像列表中的索引值。
    • Parent:指定工具栏按钮所属的ToolBar控件。
    • Style:工具栏按钮的样式,其中包括DropDownButton(下拉按钮),Separator(分隔符)、和ToggleButton(切换按钮)。
  • 方法:
    • ButtonClick :单击工具栏按钮时,将触发该事件。

添加ToolBar来联合使用ImageList图像列表:
BindingSource=》选择项
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace 高级控件
{public partial class FormImageList : Form{public FormImageList(){InitializeComponent();}private void toolBar1_ButtonClick(object sender, ToolBarButtonClickEventArgs e){}private void FormImageList_Load(object sender, EventArgs e){// 定义ToolBarButton对象ToolBarButton btn1 = new ToolBarButton();ToolBarButton btn2 = new ToolBarButton();ToolBarButton btn3 = new ToolBarButton();// 向当前的ToolBar控件添加工具栏按钮toolBar1.Buttons.Add(btn1);toolBar1.Buttons.Add(btn2);toolBar1.Buttons.Add(btn3);// 指定ToolBar控件的ImageList控件对象toolBar1.ImageList = imageList1;// 设置显示工具提示toolBar1.ShowToolTips = true;// 设置图片索引btn1.ImageIndex = 0;btn2.ImageIndex = 1;btn3.ImageIndex = 2;// 设置按钮的标题和提示信息btn1.Text = "按钮1";btn1.ToolTipText = "按钮提示1";btn2.Text = "按钮2";btn2.ToolTipText = "按钮提示2";btn3.Text = "按钮3";btn3.ToolTipText = "按钮提示3";}}
}

在这里插入图片描述

StatusStrip(状态栏)

StatusStrip控件主要出现在窗体的底部,一般用于显示程序的当前状态信息。
StatusStrip控件允许添加包括:StatusLabel(标签控件)、ProgressBar(进度条)、DropDownButton(下拉按钮)和SplitButton(分割控件)等。

在这里插入图片描述

Timer(定时器)

定时执行设定方法。

  • 属性:
    • Enabled:定时器是否可用
    • Interval:定时器每个多长时间触发一次tick事件,时间单位是毫秒。
  • 方法:
    • Start():启动定时器。
    • Stop():停止定时器。
  • 事件:
    • Tick : 没每隔Interval设定时间触发一次 。

在这里插入图片描述

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace 高级控件
{public partial class FormTimer : Form{public FormTimer(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){progressBar1.Value = 0;timer1.Start();}private void button2_Click(object sender, EventArgs e){timer1.Stop();}private void timer1_Tick(object sender, EventArgs e){progressBar1.Value += 1;if (progressBar1.Value > 100) {progressBar1.Value = 100;}}}
}

ListView(列表显示)

ListView是以列表的方式显示数据内容,可以通过编辑列、组和项,添加行列数据信息。

  • 属性:
    • Items:ListView中的具体内容。
    • MultiSelect:是否允许选择多个项。
    • SelectedItems:用户选择的ListView行。
    • Sorting:指定进行的排序方式。
    • Columns:详细视图中显示的列信息。
  • 方法:
    • Clear():彻底清除视图,删除所有的选项和列。
    • GetIteAt():返回列表视图中位于x,y的选项。
    • Sort():进行排序,仅限于字母数字类型。
  • 事件:
    • BeginUpdate:开始更新,直到调用EndUpdate为止。当一次插入多个选项时可以避免视图闪送,并可以大大提高速度。
    • EndUpdate:结束更新。

ListView控件的编辑列、组和项的一般流程:

  1. 拖拽ImageList图片列表控件和ListView控件,在ImageList加载图片信息。
  2. 选中ListView控件,配置其LargeImageList和SallImageList的属性为ImageList控件对象。
  3. 选中ListView控件,通过Columns属性或者编辑列,打开Columnheader集合编辑器,设置图片列表内容和表头名称。
  4. 选中ListView控件,设置其View属性为Details。
    在这里插入图片描述
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace 高级控件
{public partial class FormListView : Form{public FormListView(){InitializeComponent();listView1.View = View.Details;// 设置ListView对象的View属性值为Details}private void listView1_SelectedIndexChanged(object sender, EventArgs e){foreach (ListViewItem lst in listView1.SelectedItems){MessageBox.Show(lst.Text);}}private void FormListView_Load(object sender, EventArgs e){ColumnHeader header1 = new ColumnHeader();header1.Text = "职业";header1.TextAlign = HorizontalAlignment.Center;header1.Width = 50;listView1.Columns.Add(header1);ColumnHeader header2 = new ColumnHeader();header2.Text = "兴趣";header2.TextAlign = HorizontalAlignment.Center; header2.Width = 50;listView1.Columns.Add(header2);listView1.Columns.Add("身高", 100, HorizontalAlignment.Center);}private void button1_Click(object sender, EventArgs e){listView1.Columns.Add("年龄", 100, HorizontalAlignment.Center);listView1.Columns.Add("班级", 40, HorizontalAlignment.Center);}private void button2_Click(object sender, EventArgs e){listView1.Columns.Remove(listView1.Columns[0]);}private void button3_Click(object sender, EventArgs e){listView1.Clear();}private void button4_Click(object sender, EventArgs e){listView1.Items.Clear();        }private void button5_Click(object sender, EventArgs e){listView1.BeginUpdate();listView1.Items.Add("row1", "小李", 0);listView1.Items["row1"].SubItems.Add("21");listView1.Items["row1"].SubItems.Add("98524");listView1.Items["row1"].SubItems.Add("男");            listView1.EndUpdate();for (int i = 0; i < listView1.Items.Count; i++) {if (i % 2 == 0) {listView1.Items[i].BackColor = Color.Gray;}}}}
}

TreeView(树型视图)

TreeView是以树型视图样式排列的对象。有两个重要的知识概念节点集和节点对象。TreeView控件的Nodes属性表示为TreeView控件指定的树节点集,而树节点集中的每个树节点对象可以包括它本身的树节点集,在树节点集中Add(),Remove()和RemoveAt()方法使开发人员可以添加和移动集中的单个树节点。

  • 属性:
    • Nodes:TreeView中的根节点具体内容集合。
    • ShowLines:是否显示父子节点之间的连接线,默认为True。
    • StateImageList:树型视图 用以表示自定义状态的ImageList控件。
    • Scrollable:是否出现滚动条。
  • 事件:
    • AfterCheck:选中或取消属性节点时触发。
    • AfterCollapse:折叠节点后触发。
    • AfterExpand:展开节点后触发。
    • AfterSelect:更改选定内容后触发。
    • BeforeCheck: 选中或取消树节点复选框时触发。
    • BeforeCollapse:折叠节点之前触发。
    • BeforeExpand:展开节点之前触发。
    • BeforeSelect:更改选定内容前触发。
using System;
using System.CodeDom.Compiler;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace 高级控件
{public partial class FormTreeView : Form{public FormTreeView(){InitializeComponent();}private void FormTreeView_Load(object sender, EventArgs e){treeView1.Nodes.Clear();TreeNode tem = new TreeNode("根节点");treeView1.Nodes.Add(tem);            }/// <summary>/// 添加子节点方法/// </summary>private void AddChildNode(){// 首先判断是否选定组件中的位置if (treeView1.SelectedNode == null){MessageBox.Show("请选择一个节点", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);}else {if (textBox1.Text != ""){// 创建一个节点对象并初始化TreeNode tmp;tmp = new TreeNode(textBox1.Text);// 在TreeView组件中加入子节点treeView1.SelectedNode.Nodes.Add(tmp);treeView1.SelectedNode = tmp;treeView1.ExpandAll();}else{MessageBox.Show("请填写节点名称!", "信息提示",MessageBoxButtons.OK, MessageBoxIcon.Information);return;}}}/// <summary>/// 添加兄弟节点方法/// </summary>private void AddParent(){try{if (treeView1.SelectedNode == null){MessageBox.Show("请选择一个节点", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);}else{if (textBox1.Text != ""){// 创建一个节点对象并初始化TreeNode tmp;tmp = new TreeNode(textBox1.Text);treeView1.SelectedNode.Parent.Nodes.Add(tmp);treeView1.ExpandAll();}else{MessageBox.Show("请选择一个节点!", "提示信息",MessageBoxButtons.OK, MessageBoxIcon.Information);}}}catch{TreeNode tem = new TreeNode("根节点");treeView1.Nodes.Add(tem);}}private void treeView1_AfterSelect(object sender, TreeViewEventArgs e){}private void treeView1_MouseDown(object sender, MouseEventArgs e){if (e.Button == MouseButtons.Right) {contextMenuStrip1.Show(this, new Point(e.X, e.Y));}}private void button1_Click(object sender, EventArgs e){treeView1.SelectedNode.Expand();}private void button2_Click(object sender, EventArgs e){treeView1.SelectedNode = treeView1.Nodes[0];treeView1.SelectedNode.ExpandAll();}private void button3_Click(object sender, EventArgs e){treeView1.SelectedNode = treeView1.Nodes[0];treeView1.SelectedNode.Collapse();}private void toolStripMenuItem1_Click(object sender, EventArgs e){AddChildNode();}private void toolStripMenuItem2_Click(object sender, EventArgs e){AddParent();}private void toolStripMenuItem3_Click(object sender, EventArgs e){if (treeView1.SelectedNode.Nodes.Count == 0){treeView1.SelectedNode.Remove();}else{MessageBox.Show("请先删除此节点的所有子节点!", "提示信息",MessageBoxButtons.OK, MessageBoxIcon.Information);}}}
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/111182.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

https证书配置(nginx)

HTTPS 是什么 HTTPS 是一种应用层协议&#xff0c;是一种透过计算机网络进行安全通信的传输协议&#xff0c;HTTPS 经由 HTTP 进行通信&#xff0c;但是在 HTTP 的基础上引入了一个加密层&#xff0c;使用 SSL/TLS 来加密数据包&#xff0c;HTTPS 开发的主要目的&#xff0c;是…

层序中序还原二叉树

题目&#xff1a; 样例&#xff1a; 输入 6 0 2 5 1 4 3 1 2 4 0 5 3 输出 0 2 1 4 5 3 思路&#xff1a; 这道题&#xff0c;核心思想就是 结合 层序遍历的性质&#xff0c;根据 中序来判断左右孩子是否存在。 前中后序的遍历实现&#xff0c;主要都是 递归的形式实现遍历…

【Linux】在Ubuntu下安装Zotero

【Linux】在Ubuntu下安装Zotero 文章目录 【Linux】在Ubuntu下安装Zotero1. Debian InstallationReference 1. Debian Installation 直接使用下面三条语句进行安装即可 wget -qO- https://raw.githubusercontent.com/retorquere/zotero-deb/master/install.sh | sudo bash su…

Fiddler之Replay功能详解

今天就先来看看Fiddler的功能。 Fiddler&#xff0c;最容易看到的就是快捷工具栏中的 Replay 按钮 解释下&#xff1a; Reissue the selected requests. 重发选中的请求 Hold CTRL to reissue unconditionallly. 选中请求按住 CTRL 键&#xff0c;点击Replay时无条件重发选中…

TP5.1 导出excel文件

在 ThinkPHP 5.1 中引入 PHPExcel&#xff08;现在已被官方弃用&#xff0c;推荐使用 PhpSpreadsheet&#xff09;时&#xff0c;可以按照以下步骤进行操作&#xff1a; 在 composer.json 文件中添加 PHPExcel&#xff08;PhpSpreadsheet&#xff09;的依赖项。找到 require 部…

Go 函数的健壮性、panic异常处理、defer 机制

Go 函数的健壮性、panic异常处理、defer 机制 文章目录 Go 函数的健壮性、panic异常处理、defer 机制一、函数健壮性的“三不要”原则1.1 原则一&#xff1a;不要相信任何外部输入的参数1.2 原则二&#xff1a;不要忽略任何一个错误1.3 原则三&#xff1a;不要假定异常不会发生…

04 接口隔离原则

官方定义 <<代码整洁之道>>作者罗伯特 C马丁 为 “接口隔离原则” 的定义是&#xff1a;客户端不 应该被迫依赖于它不使用的方法&#xff08;Clients should not be forced to depend on methods they do not use&#xff09;。 该原则还有另外一个定义&#xff1…

项目中 .env.development 与 .env.production 的区别

文章目录 一、项目中使用此两个文件的意义二、使用方式 一、项目中使用此两个文件的意义 我们在开发项目时&#xff0c;经常会有开发环境与生产环境&#xff0c;分别会对应不同的请求地址与各种不同的变量&#xff0c;这个时候我们就可以使用 process.env 去抓取这两个文件写的…

Lua快速入门教程

文章目录 1、Linux安装Lua2、语法练习2.1、变量2.2、循环2.3、函数2.4、数组2.5、迭代器2.6、Table操作2.7、Lua 模块与包2.8、加载机制2.9、Lua 元表(Metatable) 3、Lua 协同程序(coroutine)4、文件IO操作4.1、简单模式4.2、完全模式 5、错误处理 内容来源菜鸟教程&#xff0c…

【LeetCode-数组】-- 寻找数组的中心索引

寻找数组的中心索引 class Solution {public int pivotIndex(int[] nums) {int n nums.length,sum 0;for(int i 0;i<n;i){ //计算所有元素之和sumnums[i];}int sum_l 0; //统计左边元素之和for(int i 0;i<n;i){sum - nums[i];if(sum_l sum){return i;}sum_l nums…

Linux文件管理与用户管理

一、查看文件内容 1、回顾之前的命令 cat命令、tac命令、head命令、tail命令、扩展&#xff1a;tail -f动态查看一个文件的内容 2、more分屏显示文件内容&#xff08;了解&#xff09; 基本语法&#xff1a; # more 文件名称 特别注意&#xff1a;more命令在加载文件时并不…

【三:Mock服务的使用】

目录 1、工具包2、mock的demo1、get请求2、post请求3、带cookies的请求4、带请求头的请求5、请求重定向 1、工具包 1、&#xff1a;服务包的下载 moco-runner-0.11.0-standalone.jar 下载 2、&#xff1a;运行命令java -jar ./moco-runner-0.11.0-standalone.jar http -p 888…

边写代码边学习之mlflow

1. 简介 MLflow 是一个多功能、可扩展的开源平台&#xff0c;用于管理整个机器学习生命周期的工作流程和工件。 它与许多流行的 ML 库内置集成&#xff0c;但可以与任何库、算法或部署工具一起使用。 它被设计为可扩展的&#xff0c;因此您可以编写插件来支持新的工作流程、库和…

【算法学习】归并算法Merge Sort总结

归并排序思路简单&#xff0c;速度仅次于快速排序&#xff0c;为稳定排序算法&#xff0c;一般用于对总体无序&#xff0c;但是各子项相对有序的数列。 1. 基本思想 归并排序使用分治思想&#xff0c;分治模式下每一层递归有三个步骤&#xff1a; 分解&#xff08;divide)&a…

Git命令在线练习网址--非常友好的提示及动画展示

Git命令在线练习 https://learngitbranching.js.org/ 举个栗子: 在练习时会给你相应提示,你可以按照相应步骤进行操作,并且每一步都有动画演示

直播带货前途渺茫了

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 种种迹象表明电商行业和直播带货将受到冲击。直播带货前途渺茫了&#xff0c;相信很快就有政策出来了&#xff0c;针对电商这块的&#xff0c;支持实体、支持取消直播带货。 (1)目前&#xff0c;…

协同创新、奔赴未来——“华为云杯”2023人工智能创新应用大赛华丽谢幕

9月27日&#xff0c;在苏州工业园区管理委员会、华为云计算技术有限公司的指导下&#xff0c;由SISPARK&#xff08;苏州国际科技园&#xff09;、华为&#xff08;苏州&#xff09;人工智能创新中心联合主办&#xff0c;东北大学工业智能与系统优化国家级前沿科学中心、浙江大…

驱动:驱动相关概念,内核模块编程,内核消息打印printk函数的使用

一、驱动相关概念 1.操作系统的功能 向下管理硬件&#xff0c;向上提供接口 操作系统向上提供的接口类型&#xff1a; 内存管理&#xff1a;内存申请&#xff08;malloc&#xff09; 内存释放&#xff08;free&#xff09;等 文件管理&#xff1a; 通过文件系统格式对文件ext2…

E054-web安全应用-Brute force暴力破解进阶

课程名称&#xff1a; E054-web安全应用-Brute force暴力破解进阶 课程分类&#xff1a; web安全应用 实验等级: 中级 任务场景: 【任务场景】 小王接到磐石公司的邀请&#xff0c;对该公司旗下的网站进行安全检测&#xff0c;经过一番检查发现该网站可能存在弱口令漏洞…

AAOS CarMediaService 服务框架

文章目录 前言MediaSessionCarMediaService作用是什么&#xff1f;提供了哪些接口&#xff1f;如何使用&#xff1f;CarMediaService的实现总结 前言 CarMediaService 是AAOS中统一管理媒体播放控制、信息显示和用户交互等功能的服务。这一服务依赖于android MediaSession框架…