几个常用的控件(2)

目录

一、单选按钮Radiobutton和RadioButtonList

1、Radiobutton控件

(1)button控制方式

(2)Radiobutton控制方式

2、RadiobuttonList控件

二、列表框ListBox和下拉列表DropdownList

1、ListBox

2、DropdownList

三、面板控件panel

四、日历

五、FileUpLoad

六、隐藏域HidderField


前面一篇中介绍了几个常用的控件,这篇继续学习常用的控件。

一、单选按钮Radiobutton和RadioButtonList

        前面简单的看了一下这两个控件长什么样子,下面我们试着用小例子来学习一下这两个的使用差别。

用例一:使用这些按钮来选择图片,该怎么操作呢?

1、Radiobutton控件

        首先,尝试使用单个按钮Radiobutton来实现:

拖动一个Image控件和四个Radiobutton控件,如下摆放:

控制使用哪个图片有两种方式,一种是直接加一个button,然后选择一个Radiobutton,点一下button,这种是比较繁琐的;另一种是直接修改每个Radiobutton的功能。但是作为初学者,一定不能选择跳过(说给我自己听的,以前跳过的太多后面后悔也不知道咋补了),下面先加一个button试试如何让他显示吧:

(1)button控制方式

双击button添加其功能:

        protected void Button3_Click(object sender, EventArgs e){if (RadioButton1.Checked){this.Image1.ImageUrl = "Images/1.png";}if (RadioButton2.Checked){this.Image1.ImageUrl = "Images/2.png";}if (RadioButton3.Checked){this.Image1.ImageUrl = "Images/3.png";}if (RadioButton4.Checked){this.Image1.ImageUrl = "Images/4.png";}}

启动,然后运行一下试试:

 

 

 

我们可以看到,四张倒是都能显示,但是有一个大大的缺点就是,这个RadioButton一旦被选择,那么它就回不去了,即一直显示的是被选的状态。我们肯定不希望是这么个现象的,要怎么做才能不出现在这种问题呢,我们继续往下看。

(2)Radiobutton控制方式

删除Button控件,依次修改每个Radiobutton的功能:

 protected void RadioButton1_CheckedChanged(object sender, EventArgs e){this.Image1.ImageUrl = "Image/1.png";}protected void RadioButton2_CheckedChanged(object sender, EventArgs e){this.Image1.ImageUrl = "Image/2.png";}protected void RadioButton3_CheckedChanged(object sender, EventArgs e){this.Image1.ImageUrl = "Image/3.png";}protected void RadioButton4_CheckedChanged(object sender, EventArgs e){this.Image1.ImageUrl = "Image/4.png";}

这是我的想法,至于行不行呢,咱们边走边看吧:

好吧,确实不行,应该怎么用呢?不理解。。。。。(慢慢来吧)

先解决(1)中提到的问题吧。这时候就需要使用到RadiobuttonList控件。

2、RadiobuttonList控件

我们可以看到,默认状态下,该列表是竖向排列的,那么想要它横向排列,该怎么做呢?

只需要修改RadiobuttonList的属性RepeatDirection为horizontal即可。

 下面,按照要求进行修改它们的功能:

不加按钮的时候,怎么都不出来图片,这是为什么我不太理解。。。。。。

所以被迫加上按钮,就可以按照要求跳转了:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;namespace WebApplication2
{public partial class WebForm1 : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}protected void Button1_Click(object sender, EventArgs e){string r = RadioButtonList1.SelectedItem.Text;if (r == "1"){Image1.ImageUrl = "Images/1.png";}if (r == "2"){Image1.ImageUrl = "Images/2.png";}if (r == "3"){Image1.ImageUrl = "Images/3.png";}if (r == "4"){Image1.ImageUrl = "Images/4.png";}}}
}

 

二、列表框ListBox和下拉列表DropdownList

        这两个控件基本上是一样的,但是显示的效果是不同的,ListBox是将所有选择都显示且可以多选,但是DropdownList一次只显示一个且一次只能选择一个。

1、ListBox

       

就是一个这样的框,在这个框里面可以添加很多的选择,例如:

运行显示就是这样子的:

前面说的可以多选,要多选的话就需要修改属性:SelectionMode,修改为Multiple,修改看看效果:

 按着Ctrl键,就可以多选了:

2、DropdownList

加上选择的话,一次只显示一个:

运行显示的样子(这个框拉的有点大了,哈哈哈哈,等会改小点):

        这是直接加上去的,后面也可以追加上去。使用的语句是DropDownList1.Items.Add("");

但是加的时候要注意,只能加一次,而不能每按一次就加一次,这时候,就可以用到以前使用过一次的IsPostBack。

protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){DropDownList1.Items.Add("凉拌黄瓜");DropDownList1.Items.Add("西红柿炒鸡蛋");}}

单击button之后,就可以看到加上去的菜了:

下面按照上面的两种方式,选择之后,显示“你选择了:** ”

protected void Button2_Click(object sender, EventArgs e){Label1.Text = "你选择了:";Label1.Text += ListBox1.SelectedItem.Text;}protected void Button3_Click(object sender, EventArgs e){Label2.Text = "你选择了:";Label2.Text += DropDownList1.SelectedItem.Text;}

但是,出现了一个错误,如果用列表框,选择之后,显示的是第一个选择的,这个应该怎么修改呢?

 暂时不清楚,等脑子清醒了在想吧。

如果有两个下拉列表,那么如何让它们联动呢?

我的想法是,将两个分别设置,但是有一个问题,就是有可能会错位,比如说我第一个设置的是省份,甘肃、新疆,市有定西、乌鲁木齐,如果选择错误的话就有可能出现新疆-定西这种情况。显然,这是错误的情况,所以设置的时候应该省份的时候,才去选择市。

先添加省份:

 

这里设置value是因为后面需要:

添加的时候发现这个会出错了,因为前面switch后面的字符型,所以需要修改成int型:

还是会出错:

为什么会出现这个错误呢?在课堂里也出现了这个错误,但是这个错误有时候却不会出现,所以这个需要再搜搜资料。

        注释掉这句话之后,发现我连前面的功能是错误的,首先,我设置是第一个下拉框的Value值,但是我前面写的是第二个下拉框的 value,所以是错的。最终的代码应该是如下的:

protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e){DropDownList3.Items.Clear();switch (Convert.ToInt32(DropDownList2.SelectedValue)){case 0:DropDownList3.Items.Add("定西");DropDownList3.Items.Add("兰州");DropDownList3.Items.Add("平凉");break;case 1:DropDownList3.Items.Add("乌鲁木齐");DropDownList3.Items.Add("石河子");DropDownList3.Items.Add("喀什");break;}}

截图如下: 

下面就修改label的功能:

在这句话后面加一个+ "" 就可以正常运行了,先记住吧。。(后面又不能正常运行了,啊啊啊啊啊啊,真的是一阵一阵的,最后发现,首先要修改一下第一个下拉框,才能使用button控件,如果不设置,就会出现上面的错误,因为:不设置第一个的时候可能switch后面没值,所以根本无法判断是哪种情况,所以会错误)

protected void Button4_Click(object sender, EventArgs e){Label3.Text = "你在:";Label3.Text += DropDownList2.SelectedItem.Text + DropDownList3.SelectedItem.Text + "";}

最终结果如下: 

 

三、面板控件panel

四、日历

就和平时我们看的日历一样,除此之外,可以通过自动套用格式来修改日历的样式:

五、FileUpLoad

        文件上传的时候我们通常会遇见这种控件,但是最终实现的操作还是双击设置的功能。

六、隐藏域HidderField

才开始学,先学习到核心的几个控件就好了,后面的这个知道有这个东西就好,以后用的时候再慢慢研究吧。

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

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

相关文章

C语言:数据在内存中的存储

目录 一、 整数在内存中的存储二、 大小端字节序和字节序判断1.什么是大小端2.为什么有大小端3.练习(1)练习1(2)练习2(3)练习3(4)练习4(5)练习5(6)练习6 三、 浮点数在内存中的存储1.练习2.浮点数的存储(1) 浮点数存的过程(2)浮点数取的过程 3.题目解析 一、 整数在内存中的存储…

GB4806.12 竹木材质食品接触餐具厨具检测机构

竹制餐具大多使用竹子作为材质,使用新鲜竹子炮制成型,成型后晒干进行装饰,制作工艺简单快捷,实用性很强,外形美观,实惠好用。很多老一辈人群十分喜欢使用各种竹木制餐具,韧性好,不易…

shell基础编程(一)

引言:之前的初识shell的内容简单的介绍了一下shell,帮助大家认识了一下shell 的组成,这篇文章就具体的讲解shell有关的知识。如果大家有编程基础的话。接下来几篇的文章读起来都会非常容易。没有的话也没有关系,我尽最大的可能讲的…

RabbitMQ是如何保证高可用的?

RabbitMQ可以通过多种方式来实现高可用,以确保在硬件故障或其他不可预测的情况下,消息队列系统仍然能够正常运行。RabbitMQ有三种模式:单机模式、普通集群模式、镜像集群模式。 其中单机模式一般用于demo搭建,不适合在生产环境中…

高项-案例分析练习(范围管理)

案例一 公司在2014年初承接了一个医疗信息系统项目,要求2014年底完成该项目研发任务并进行试运行,2015年负责项目全年的运行维护,运行稳定后甲方验收合格项目才能结束。由于张工具有多年的医疗系统开发管理经验,公司领导任命他为项…

工作需求,Vue实现登录

加油&#xff0c;新时代打工人&#xff01; vue 2.x Element UI <template><div class"body" :style"{background-image: url(${require(/assets/images/login.png)})}"><el-form :rules"rules" ref"loginForm" :mode…

目标控制器数字孪生系统的研究与设计

文章来源&#xff1a;铁路计算机应用,2023,32(10):36-41. 作者&#xff1a;许婧&#xff0c;杨硕&#xff0c;季志均 摘要&#xff1a;随着目标控制器&#xff08;OC&#xff0c;Object Controller&#xff09;系统在轨道交通领域的推广应用&#xff0c;其硬件投入较高、研发…

VMware 15 中 Ubuntu与windows 10共享文件夹设置

wmware 15.5.7中安装ubuntu 22.04 物理机为windows 10 1.选中ubuntu中想要共享的文件夹右击&#xff0c;点属性 2.在Local network share中勾选share this folder&#xff0c;第一次会提示你安装samba&#xff0c;安装即可 3.window10的资源管理器中使用 虚拟机计算机名即可…

API调试管理工具Postman下载及操作介绍

1.下载安装postman地址&#xff1a;https://www.getpostman.com/downloads/ 2.创建项目 3.创建请求API 然后点击save保存api 4.用一个变量保存主域名&#xff0c;方便后续操作 就类似下面的baseurl 5.创建新环境 6.添加变量&#xff08;如添加本地测试环境url——ba…

什么是单点登录?

单点登录&#xff08;Single Sign On&#xff0c;简称 SSO&#xff09;简单来说就是用户只需在一处登录&#xff0c;不用在其他多系统环境下重复登录。用户的一次登录就能得到其他所有系统的信任。 为什么需要单点登录 单点登录在大型网站应用频繁&#xff0c;比如阿里旗下有淘…

Spring常用设计模式-实战篇之单例模式

实现案例&#xff0c;饿汉式 Double-Check机制 synchronized锁 /*** 以饿汉式为例* 使用Double-Check保证线程安全*/ public class Singleton {// 使用volatile保证多线程同一属性的可见性和指令重排序private static volatile Singleton instance;public static Singleton …

Git学习笔记之标签

Git 可以给仓库历史中的某一个提交打上标签&#xff0c;以示重要。 比较有代表性的 是人们会使用这个功能来标记发布结点&#xff08; v1.0 、 v2.0 等等&#xff09;。 1、列出标签 列出已有的标签: git tag按照通配符列出标签需要 -l 或 --list 选项。如果你只想要完整的标…

Codeforces Round #936 (Div. 2)D(拆位贪心)

思路&#xff1a;首先需要知道&#xff1a;如果某一位的数量为奇数,那么无论怎么分都会最终变成1. 整个问题转化成能有多少个隔断选取位置 先将所有数都拆位来看,首先观察那些比x的最高位还要高的位&#xff1a; 如果这些位的数量为奇数, 那么必然会使其位是1&#xff0c;不…

网络安全笔记-day6,NTFS安全权限

文章目录 NTFS安全权限常用文件系统文件安全权限打开文件安全属性修改文件安全权限1.取消父项继承权限2.添加用户访问权限3.修改用户权限4.验证文件权限5.总结权限 强制继承父项权限文件复制移动权限影响跨分区同分区 总结1.权限累加2.管理员最高权限2.管理员最高权限 NTFS安全…

使用npm创建一个全局的cli命令,就像vue-cli一样

我们用过vue-cli等工具包&#xff0c;全局安装之后&#xff0c;我们可以直接使用vue create等命令&#xff0c;实际上能够这样使用的原因&#xff0c;就是使用了package.json里面的bin字段注册命令。接下来就以一个脚本文件为例子为大家演示一下bin是如何发挥作用的。 创建项目…

vue.js+element-ui的基础表单

遇到原生的html小型单页应用时&#xff0c;是脱离了vue框架&#xff0c;而我们又想使用vue的语法和element的组件加快我们的开发速度&#xff0c;这个时候就需要引用他们的js了。技术栈即htmlvue.jselement-ui。而使用它们的方法也很简单&#xff0c;引入对应的js和css文件即可…

MySQL定时任务Event详解

文章目录 基本概念一、Event事件使用权限二、开启\关闭Event事件三、Event事件定义格式四、事件调度使用案例4.1 准备工作4.2 创建单次定时执行事件4.2.1 创建指定时间单次执行事件任务4.2.2 创建延迟时间单次执行事件任务4.2.3 创建单次执行事件任务[多SQ执行] 4.3 创建循环定…

数据仓库的数据处理架构Lambda和Kappa

1.数据仓库 数据仓库(Data Warehouse),简写DW。顾名思义,数据仓库是一个很大的数据存储集合,为企业分析性报告和决策支持而创建,是对多元业务数据的筛选与整合,具备一定的BI能力,主要用于企业的数据分析、数据挖掘、数据报表等方向,指导业务流程改进、监视时间、成本、…

从0到1实现RPC | 03 重载方法和参数类型转换

一、存在的问题 1.重载方法在当前的实现中还不支持&#xff0c;调用了会报错。 2.类型转换也还存在问题。 假设定义的接口如下&#xff0c;参数是float类型。 在Provider端接受到的是一个Double类型&#xff0c;这是因为web应用接收的请求后处理的类型。 在反射调用的时候就会…

前言:为什么C语言最适合编程入门?

前言&#xff1a;为什么C语言最适合编程入门&#xff1f; C语言被认为最适合编程入门的原因主要有以下几点&#xff1a; 基础且强大&#xff1a;C语言是一种基础且强大的编程语言。它提供了对底层硬件的直接访问&#xff0c;让初学者能够更好地理解计算机的工作原理&#xff0…