基本界面控件-进度条
- 格式:doc
- 大小:135.00 KB
- 文档页数:8
C#窗体控件简介-进度条控件
Windows窗体⼯具箱中提供了进度条(ProgressBar)控件,⽤来显⽰程序的执⾏进度。
进度条控件主要⽤于指⽰某种操作的进度及完成的百分⽐,其外观是排列在⽔平条中的⼀定数⽬的矩形。
在进⾏数据库读写操作,或者⽂件的读写复制等操作的时候,该控件经常被⽤于告之⽤户进度的完成情况。
进度条控件的基本属性和⽅法:
属性---说明
Maximum
进度条控件的最⼤值。
默认值为100
Minimum
进度条控件的最⼩值。
进度条从最⼩值开始递增,直⾄达到最⼤值。
默认值为0
Step
PerformStep ⽅法应据以增加进度条的光标位置的值。
默认值为10
Value
进度条控件中光标的当前位置。
默认值为0
⽅法---说明
Increment
按指定的递增值移动进度条的光标位置
PerformStep
按Step 属性中指定的值移动进度条的光标位置
eg:
if (progressBar1.Value == 100)
{
progressBar1.Value = 0;
}
progressBar1.PerformStep();。
Android中的常⽤控件之进度条(ProgressBar)ProgressBar的常⽤属性:style,进度条的样式,默认为圆形,⽤style="?android:attr/progressBarStyleHorizontal"可以将进度条设为条状;android:progress,进度条当前所处进度;android:max,进度条总进度。
⽤线程实现进度条的注意事项:不能在主线程中执⾏耗时的操作,只能在⼦线程中操作;另外,在⼦线程中不能操作主线程中的控件(ProgressBar除外):修改后MainActivity.java⾥的代码如下:public class MainActivity extends AppCompatActivity {private int p=0;//当前进度private ProgressBar pb_main_download;//进度条private TextView tv_main_desc;//显⽰⽂本的控件private MyHandler myHandler=new MyHandler();//新写的Handler类public class MyHandler extends Handler{@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);int code=msg.what;//接受处理码switch (code){case 1:p++;pb_main_download.setProgress(p);//给进度条的当前进度赋值tv_main_desc.setText(p+"%");//显⽰当前进度为多少break;}}}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);//根据ID找到进度条pb_main_download=findViewById(R.id.pb_main_download);//根据ID找到显⽰⽂本的控件tv_main_desc=findViewById(_main_desc);}//点击Download按钮所调⽤的⽅法public void download(View view) {if(0==p){//如果当前进度为0new myThread().start();//开启线程}}public class myThread extends Thread{@Overridepublic void run() {super.run();while(true){try {Thread.sleep(100);//使线程休眠0.1秒} catch (InterruptedException e) {e.printStackTrace();}if(p==100){//当前进度等于总进度时退出循环p=0;break;}Message msg=new Message();msg.what=1;myHandler.sendMessage(msg);//发送处理码}}}}。
Android 控件之ProgressBar进度条下面详细介绍ProgressBar一、说明在某些操作的进度中的可视指示器,为用户呈现操作的进度,还它有一个次要的进度条,用来显示中间进度,如在流媒体播放的缓冲区的进度。
一个进度条也可不确定其进度。
在不确定模式下,进度条显示循环动画。
这种模式常用于应用程序使用任务的长度是未知的。
二、XML重要属性android:progressBarStyl e:默认进度条样式android:progressBarStyl eHorizontal:水平样式三、重要方法getMax():返回这个进度条的范围的上限getProgress():返回进度getSecondaryProgress():返回次要进度incrementProgressBy(int diff):指定增加的进度isIndeterminate():指示进度条是否在不确定模式下setIndeterminate(bool ean indeterminate):设置不确定模式下setVisibility(int v):设置该进度条是否可视四、重要事件onSizeChanged(int w, int h, int ol dw, int ol dh):当进度值改变时引发此事件五、实例1.布局文件复制内容到剪贴板代码:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="wrap_content"><ProgressBar android:id="@+id/progress_horizontal"styl e="?android:attr/progressBarStyl eHorizontal"android:layout_width="200dip"android:layout_height="wrap_content"android:max="100"android:progress="50"android:secondaryProgress="75" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="默认进度条" /><LinearLayoutandroid:orientation="horizontal"android:layout_width="match_parent"android:layout_height="wrap_content"><Button android:id="@+id/d ecrease"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="减少" /><Button android:id="@+id/increase"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="增加" /></LinearLayout><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="自定义进度条" /><LinearLayoutandroid:orientation="horizontal"android:layout_width="match_parent"android:layout_height="wrap_content"><Button android:id="@+id/d ecrease_secondary" android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="第二减少" /><Button android:id="@+id/increase_secondary" android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="第二增加" /></LinearLayout></LinearLayout>2.Java代码复制内容到剪贴板代码:package wjq.WidgetDemo;import android.app.Activity;import android.os.Bundl e;import android.view.View;import android.view.Wind ow;import android.widget.Button;import android.widget.ProgressBar;public class ProgressBarDemo extends Activity {/* (non-Javadoc)* @see android.app.Activity#onCreate(android.os.Bundl e) */@Overrid eprotected void onCreate(Bundl e savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);requestWindowFeature(Wind ow.FEATURE_PROGRESS);setContentView(yout.probarpage);setProgressBarVisibility(true);final ProgressBar progressHorizontal = (ProgressBar) findViewById(R.id.progress_horizontal); setProgress(progressHorizontal.getProgress() * 100);setSecondaryProgress(progressHorizontal.getSecondaryProgress() * 100);Button button = (Button) findViewById(R.id.increase);button.setOnClickListener(new Button.OnClickListener() {public void onClick(View v) {progressHorizontal.incrementProgressBy(1);// Titl e progress is in range 0..10000setProgress(100 * progressHorizontal.getProgress());}});button = (Button) findViewById(R.id.decrease);button.setOnClickListener(new Button.OnClickListener() {public void onClick(View v) {progressHorizontal.incrementProgressBy(-1);// Titl e progress is in range 0..10000setProgress(100 * progressHorizontal.getProgress());}});button = (Button) findViewById(R.id.increase_secondary);button.setOnClickListener(new Button.OnClickListener() {public void onClick(View v) {progressHorizontal.incrementSecondaryProgressBy(1);// Titl e progress is in range 0..10000setSecondaryProgress(100 * progressHorizontal.getSecondaryProgress());}});button = (Button) findViewById(R.id.decrease_secondary);button.setOnClickListener(new Button.OnClickListener() {public void onClick(View v) {progressHorizontal.incrementSecondaryProgressBy(-1);// Titl e progress is in range 0..10000setSecondaryProgress(100 * progressHorizontal.getSecondaryProgress());}});}来源:清源教育。
amazeui学习笔记--css(常⽤组件13)--进度条Progress amazeui学习笔记--css(常⽤组件13)--进度条Progress⼀、总结1、进度条基本使⽤:进度条组件,.am-progress为容器,.am-progress-bar为进度显⽰信息。
<div class="am-progress"><div class="am-progress-bar" style="width: 30%"></div></div><div class="am-progress"><div class="am-progress-bar" style="width: 40%">40%</div></div>2、进度条颜⾊:进度条默认为全局主⾊,在进度条上添加相应的类可设置的颜⾊:.am-progress-bar-secondary.am-progress-bar-success.am-progress-bar-warning.am-progress-bar-danger3、进度条⾼度:在.am-progress添加.am-progress-xs.am-progress-sm可以设置进度条⾼度。
<div class="am-progress am-progress-sm">进度条bar</div>4、进度条条纹(这个好看):在进度条容器上添加.am-progress-striped显⽰条纹效果,可结合进度条颜⾊ class 使⽤。
<div class="am-progress am-progress-striped"><div class="am-progress-bar am-progress-bar-danger" style="width: 80%"></div></div>5、进度条动画:进度条容器上添加.am-active激活进度条动画(CSS Animation)。
androidListView和ProgressBar(进度条控件)的使⽤⽅法ListView控件⾥⾯装的是⼀⾏⼀⾏的数据,⼀⾏中可能有多列,选中⼀⾏,则该⾏的⼏列都被选中,同时可以触发⼀个事件,这种控件在平时还是⽤得很多的。
使⽤ListView时主要是要设置⼀个适配器,适配器主要是⽤来放置⼀些数据。
使⽤起来稍微有些复杂,这⾥⽤的是android⾃带的SimpleAdapter,形式如下:android.widget.SimpleAdapter.SimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)由此可以看出函数的第2个参数为⼀个list,该list⾥⾯存放的是⼀些hashmap,hashmap是⼀些映射,⾥⾯放的是键值对;第3个参数为1个布局⽂件,即适配器输出的布局;第4个参数为字符数组,数组的内容为参数list中map每列的列名;第5个参数为整型数组,其意思为第4个参数对应显⽰的值的格式,⼀般为控件。
因为第3个参数为1个布局⽂件,所以我们该⼯程中我们需要再单独添加⼀个xml⽂件。
同时我们要知道设置ListView的监听器是⽤onListItemClick()函数。
另外还需注意的是在java中定义数组类型并初始化时中间不需要等号,例如new String[]{"user_name", "user_birthday"}。
这次实验的参考的是mars⽼师的资料.ListView使⽤的显⽰效果如下:每次选中⼀⾏时在后台会相应的输出该⾏的位置和id,依次选中这三⾏.后台输出为:实验代码如下:MainActivity.java:复制代码代码如下:package com.example.control3;import java.util.ArrayList;import java.util.HashMap;import android.app.ListActivity;import android.os.Bundle;import android.view.View;import android.widget.ListView;import android.widget.SimpleAdapter;public class MainActivity extends ListActivity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);//建⽴⼀个ArrayList,ArrayList⾥⾯放的是Hash表ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String,String>>();HashMap<String, String>map1 = new HashMap<String, String>();HashMap<String, String>map2 = new HashMap<String, String>();HashMap<String, String>map3 = new HashMap<String, String>();//给Hash表中填⼊键值对map1.put("user_name", "⼩红");map1.put("user_birthday", "2012_07_30");map2.put("user_name", "⼩明");map2.put("user_birthday", "2012_07_31");map3.put("user_name", "⼩冬");map3.put("user_birthday", "2012_08_01");list.add(map1);list.add(map2);list.add(map3);//在该activity中创建⼀个简单的适配器SimpleAdapter listAdapter = new SimpleAdapter(this, list,yout.activity_user, new String[]{"user_name", "user_birthday"}, new int[]{er_name, er_birthday});//载⼊简单适配器setListAdapter(listAdapter);}//ListView监听器响应函数@Overrideprotected void onListItemClick(ListView l, View v, int position, long id) { // TODO Auto-generated method stubsuper.onListItemClick(l, v, position, id);System.out.println("id--------------------" +id);System.out.println("Position-------------" + position);}}activity_main.xml:复制代码代码如下:<LinearLayout xmlns:android="/apk/res/android" xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><LinearLayoutandroid:id="@+id/listLinearLayout"android:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="vertical"><ListViewandroid:id="@id/android:list"android:layout_width="fill_parent"android:layout_height="wrap_content"android:drawSelectorOnTop="false"android:scrollbars="vertical"/></LinearLayout></LinearLayout>activity_user.xml:复制代码代码如下:<LinearLayout xmlns:android="/apk/res/android" xmlns:tools="/tools"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="horizontal"android:padding="10dip"><!--该布局⽂件时⽔平⽅向上2个TextView控件,并设置了其相应的属性--><TextViewandroid:id="@+id/user_name"android:layout_width="180dip"android:layout_height="30dip"android:textSize="10pt"android:singleLine="true"/><TextViewandroid:id="@+id/user_birthday"android:layout_width="fill_parent"android:layout_height="fill_parent"android:textSize="10pt"android:gravity="right"/></LinearLayout>:ProgressBar控件的使⽤⽐较简单,在android开发中,其默认的形式是1个圆周型的进度条,也就是代表⼀直在等待,这时候是看不到实际上完成的进度的。
VB常用控件介绍VB(Virtual Basic)是一种面向对象的编程语言,常用于开发各种图形用户界面(GUI)应用程序。
在VB中,控件是构成用户界面的基本元素,通过控件可以实现用户与程序的交互。
下面是一些常用的VB控件的介绍。
1. 按钮控件(Button):按钮是VB中最常用的控件之一,用于触发一些事件或执行一些动作。
通过设置按钮的文字、大小、位置和事件处理程序,可以实现各种用户交互功能。
3. 文本框控件(TextBox):文本框用于接收用户的输入,并可以将输入的文本保存到变量中。
可以设置文本框的大小、位置、边框样式等属性,并可以通过事件处理程序响应用户输入的变化。
4. 列表框控件(ListBox):列表框用于显示一组选项,并允许用户从中选择一个或多个选项。
可以通过添加和移除选项,以及设置列表框的大小、位置、滚动条等属性来定制列表框的外观和功能。
6. 复选框控件(CheckBox):复选框用于表示一个状态,可以被选中或取消选中。
常用于表示一个二进制选项,比如启用/禁用一些功能。
可以设置复选框的大小、位置、文本等属性,并可以通过事件处理程序获取用户的选择。
7. 单选按钮控件(RadioButton):单选按钮用于表示一组互斥的选项,用户只能选择其中的一个。
常用于表示一个多项选择,比如选择性别。
可以设置单选按钮的大小、位置、文本等属性,并可以通过事件处理程序获取用户的选择。
8. 进度条控件(ProgressBar):进度条用于显示任务的进度,可以根据任务的完成情况来改变进度条的长度和显示。
可以通过设置进度条的最小值、最大值、当前值等属性,以及处理进度改变的事件来定制进度条的功能。
9. 图像框控件(PictureBox):图像框用于显示图像或图表,可以加载本地或网络上的图像文件,并可以设置图像框的大小、位置等属性。
可以通过处理鼠标点击、鼠标移动等事件来实现与图像相关的交互功能。
10. 文件对话框控件(FileDialog):文件对话框用于让用户选择文件或保存文件,可以通过设置对话框的类型、过滤条件、默认目录等属性来限制用户的选择范围,并可以通过事件处理程序获取用户选择的文件路径。
MFC中进度条控件的使用方法MFC(Microsoft Foundation Class)进度条控件是一种用于显示任务进度的常见控件,可以在界面中显示一个动态的进度条,以便用户了解任务的进度情况。
在本文中,将介绍MFC中如何使用进度条控件,并详细说明其使用方法。
1.创建进度条控件在MFC应用程序的对话框资源中添加一个进度条控件,控件ID可以自定义。
然后在对应的对话框类中添加一个变量用于关联该控件,方法如下:```cpp#include <afxcmn.h> // 导入控件类的头文件class CMyDialog : public CDialogEx//...protected:CProgressCtrl m_progress; // 声明一个变量用于关联进度条控件};```2.初始化进度条在对话框类中的OnInitDialog(函数中,通过m_progress变量获取进度条控件的指针,并进行初始化设置。
```cppBOOL CMyDialog::OnInitDialogCDialogEx::OnInitDialog(;//获取进度条控件的指针CProgressCtrl* pProgress =(CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);//设置进度条范围(默认为0-100)pProgress->SetRange(0, 100);//设置进度条初始位置pProgress->SetPos(0);return TRUE;}```3.更新进度条的进度在任务进行中,可以通过SetPos(函数设置进度条的当前位置,用以更新进度条的进度。
```cppvoid CMyDialog::DoTaskfor (int i = 0; i <= 100; i++)m_progress.SetPos(i);//执行任务代码...}}```4.设置进度条样式进度条控件还支持一些样式设置,可以通过SetStyle(函数进行设置。
VBA中的常用控件介绍VBA(Visual Basic for Applications)是一种用于编写宏和自定义功能的编程语言,广泛应用于Microsoft Office套件中的各种应用程序,如Excel、Word和PowerPoint。
在VBA中,控件是用于在用户界面上显示和收集数据的重要元素。
本文将介绍VBA中一些常用的控件,以帮助您更好地理解和应用这些功能。
1. 文本框(TextBox)文本框是用来接受和显示文本信息的控件。
在VBA中,我们可以使用TextBox控件来让用户输入文本或展示某些特定的信息。
通过VBA代码,我们可以设置TextBox的属性,如宽度、高度、默认值等。
同时,我们还可以使用TextBox的事件(如Click和Change事件)来触发特定的操作。
2. 标签(Label)标签是VBA中常见的控件之一,用于显示静态文本信息。
与文本框不同,标签控件不可编辑,仅用于显示文本。
通过设置标签的属性,如字体、颜色和位置等,我们可以对其进行个性化定制。
标签控件常用于显示标题、标识符或指导用户的文本信息。
3. 按钮(Button)按钮是一种用于触发特定操作的控件。
在VBA中,我们可以使用按钮控件来执行特定的代码,如打开对话框、导航到其他工作表、运行宏等。
通过设置按钮的属性,如名称、宽度、高度、标题等,我们可以将其调整为符合用户界面的设计需求。
4. 复选框(CheckBox)复选框是一种允许用户从多个选项中选择的控件。
在VBA中,我们可以使用复选框控件来表示一个或多个选项的选择状态。
通过设置复选框的属性,如名称、选中状态、字体等,我们可以将其与特定的选项进行绑定,并通过VBA代码获取用户的选择。
5. 列表框(ListBox)列表框是一种用于显示选项列表的控件。
在VBA中,我们可以使用列表框控件来让用户从预定义的列表中进行选择。
通过设置列表框的属性,如名称、宽度、高度和列表项等,我们可以创建一个多选或单选的选项列表。
基本界面控件进度条5.5 进度条5.5.1 ProgressBar图5.5.1 ProgressBarandroid.widget. ProgressBar,继承自android.view.View 。
在android.widget包中。
对应对话框ProgressDialog。
ProgressBar有两种展示方式,表盘形式(普通、小、大)和条形填充形式。
在layout定义时,需要通过设施style属性类设置展示方式。
常用属性设置:style 显示方式,取值:?android:attr/progressBarStyleLarge / progressBarStyle /progressBarStyleSmall / progressBarStyleHorizontalandroid:max progressBarStyleHorizontal方式时,进度条满时的值。
android:progress progressBarStyleHorizontal方式时,进度条主进度当前值。
android:secondaryPrprogressBarStyleHorizontal方式时,进度条次进度当前值。
ogressXml代码1<ProgressBar android:layout_width="wrap_content"2android:layout_height="wrap_content"3style="?android:attr/progressBarStyleLarge" />45<ProgressBar android:layout_width="wrap_content"6android:layout_height="wrap_content"7style="?android:attr/progressBarStyle"/>89<ProgressBar android:layout_width="wrap_content"10android:layout_height="wrap_content"11style="?android:attr/progressBarStyleSmall" />1213<ProgressBar android:id="@+id/myProgressBar"14android:layout_width="fill_parent"15android:layout_height="wrap_content"16style="?android:attr/progressBarStyleHorizontal"17android:max="100"18android:progress="50"19android:secondaryProgress="75"/>progressBarStyleHorizontal方式时,就需要指定进度条最大值,当前值,次要的当前值。
还可以在代码中手动设置。
通过按钮改变progress和secondaryProgress的代码:Java代码20if (v.equals(this.buttonSubBar)) {21this.myProgressBar.setProgress(this.myProgressBar.getProgress() - 10);22} else if (v.equals(this.buttonAddBar)) {23this.myProgressBar.setProgress(this.myProgressBar.getProgress() + 10);24} else if (v.equals(this.buttonSubSecondaryBar)) {25this.myProgressBar.setSecondaryProgress(this.myProgressBar.getSecondaryProgre ss() - 5);26} else if (v.equals(this.buttonAddSecondaryBar)) {27this.myProgressBar.setSecondaryProgress(this.myProgressBar.getSecondaryProgre ss() + 5);28}5.5.2 SeekBar图5.5.2 SeekBarandroid.widget. SeekBar拖动进度条,继承自android.widget.AbsSeekBar(android.widget. ProgressBar) 。
在android.widget包中。
常用属性设置:android:max 进度条满时的值。
android:progress 进度条主进度当前值。
android:thumb 拇指跟随图标。
android:thumbOffset 设置允许的轨道的范围扩展到拇指的拇指偏移量。
方法setOnSeekBarChangeListener(SeekBar.OnSeekBarChangeListener) 可进行监听,开始拖拽,停止拖拽,以及拖拽中进度条的值是否是用户改变等参数。
Xml代码29<SeekBar android:id="@+id/mySeekBar"30android:layout_width="fill_parent"31android:layout_height="wrap_content"32android:thumb="@drawable/thumb"33android:thumbOffset="10px"34android:max="100"35android:progress="20"/>Java代码36this.mySeekBar = (SeekBar) super.findViewById(R.id.mySeekBar);3738this.mySeekBar.setOnSeekBarChangeListener(onSeekBarChangeListener);3940*41*42/**43* seekBar 监听器44*/45private SeekBar.OnSeekBarChangeListener onSeekBarChangeListener = new SeekBar.OnSeekBarChangeListener() {4647@Override48public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {49myTextSeekBar.setText(progress + "");50Log.v(CommonConfig.LOG_TAG, "SeekBar onProgressChanged, progress: " + progress + ", fromUser: " + fromUser);51}5253@Override54public void onStartTrackingTouch(SeekBar seekBar) {55Log.v(CommonConfig.LOG_TAG, "SeekBar onStartTrackingTouch"); 56}5758@Override59public void onStopTrackingTouch(SeekBar seekBar) {60Log.v(CommonConfig.LOG_TAG, "SeekBar onStopTrackingTouch"); 61}62};5.5.3 RatingBar图5.5.3 RatingBarandroid.widget. RatingBar星式进度条,继承自android.widget.AbsSeekBar(android.widget. ProgressBar)。
在android.widget包中。
常用属性设置:android:isIndicator 是否是评级栏,指示器作用。
True为指示器,用户不可操作。
android:numStars 总星数。
android:rating 当前星数。
android:stepSize 每次可以等加的最小单位。
浮点数。
setOnRatingBarChangeListener(RatingBar.OnRatingBarChangeListener),添加一个监听器,可以监听每次改变。
Xml代码63<RatingBar android:id="@+id/myRatingBar"64android:layout_width="wrap_content"65android:layout_height="wrap_content"66android:isIndicator="false"67android:numStars="5"68android:rating="1.5"69android:stepSize="0.5"/>Java代码70this.myRatingBar = (RatingBar) super.findViewById(R.id.myRatingBar);7172this.myRatingBar.setOnRatingBarChangeListener(onRatingBarChangeListener);7374*75*7677/**78* ratingBar 监听器79*/80private RatingBar.OnRatingBarChangeListener onRatingBarChangeListener = new RatingBar.OnRatingBarChangeListener() {8182@Override83public void onRatingChanged(RatingBar ratingBar, float rating, booleanfromUser) {84myTextRatingBar.setText(rating + " / " + ratingBar.getNumStars());85Log.v(CommonConfig.LOG_TAG, "RatingBar onRatingChanged,rating:" + rating + ", fromUser: " + fromUser);86}87 88};。