C#中的Form,textBox,Bitmap,PictureBox,Button,WebBrowser
因为今天是用的家里的电脑,用的不是retena屏的mac,因此稍后截图的时候大家看到的图片可能会有一些模糊,还请大家海涵。。。
兄弟们,我胡汉三又回来啦!
以下開始我们的第一个C#程序。我们之前已经通过命令行实现了一个简单的可运行程序,看起来不复杂。可是在如今这个讲求效率的时代,用命令行简直弱爆了。因此我们今天用上了高大上的VS。
下载的过程就不赘述了,我们直接看怎样开发一个WinForm程序吧。可能大家有点懵。WinForm是神马玩意,为什么要先学这个呢。
我仅仅能这么简单的跟您说一下:假设我们要做C#开发的话,最好的入门就是做一个WinForm程序。
他事实上类似于VC++的那种可运行程序,仅仅是依托了.Net框架而已。
好的,開始我们的WinForm程序吧:
1.创建程序
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvempoMTcx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
创建成功后看到文件夹结构例如以下:
如图所看到的的Program.cs就是程序的入口。让我们看一下里面的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms; namespace WindowsFormsApplication1
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
当中以下这句话指出了要启动的Form类:
Application.Run(new Form1());
然后我们春藤摸瓜,找到了Form1相应的文件:
一共同拥有三个,从命名就能够大概看出他的意思,
Form1.cs用于写逻辑
Form1.Designer.cs用于画界面
Form1.resx用于管理里面的资源
我们看一下Form1.cs里面的代码:
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{ public Form1()
{
InitializeComponent();
}
}
}
非常稀松寻常的代码,接下来我们拖控件到设计器里面
然后我们更改Form1.cs的代码例如以下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net; namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{ public Form1()
{
InitializeComponent();
this.textBox1.Text = "c:\\2.jpg";
} private void button1_Click(object sender, EventArgs e)
{ Uri uri = new Uri(this.textBox1.Text);
Bitmap bitmap = new Bitmap(uri.LocalPath.ToString());
this.pictureBox1.Image = bitmap;
//图片uri HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://baidu.com"); request.Method = "get"; WebResponse response = request.GetResponse();
// webBrowser1.Navigate("http://baidu.com");
webBrowser1.DocumentText = response.ToString(); } }
}
要实现的功能是:点击button。将TextBox这个路径的图片显示到PictureBox这个控件中。
事实上设计器后台的代码也是能够看的,比方本设计器的代码Form.Designer.cs例如以下
namespace WindowsFormsApplication1
{
partial class Form1
{
/// <summary>
/// 必需的设计器变量。 /// </summary>
private System.ComponentModel.IContainer components = null; /// <summary>
/// 清理全部正在使用的资源。
/// </summary>
/// <param name="disposing">假设应释放托管资源。为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
} #region Windows 窗口设计器生成的代码 /// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器改动此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.textBox1 = new System.Windows.Forms.TextBox();
this.webBrowser1 = new System.Windows.Forms.WebBrowser();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(640, 25);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(157, 37);
this.button1.TabIndex = 0;
this.button1.Text = "button1";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// pictureBox1
//
this.pictureBox1.Location = new System.Drawing.Point(12, 58);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(508, 286);
this.pictureBox1.TabIndex = 1;
this.pictureBox1.TabStop = false;
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(59, 25);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(298, 21);
this.textBox1.TabIndex = 2;
//
// webBrowser1
//
this.webBrowser1.Location = new System.Drawing.Point(537, 85);
this.webBrowser1.MinimumSize = new System.Drawing.Size(20, 20);
this.webBrowser1.Name = "webBrowser1";
this.webBrowser1.Size = new System.Drawing.Size(250, 250);
this.webBrowser1.TabIndex = 3;
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(815, 395);
this.Controls.Add(this.webBrowser1);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.pictureBox1);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Form1";
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout(); } #endregion private System.Windows.Forms.Button button1;
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.WebBrowser webBrowser1;
}
}
大功告成!看一下效果:
完...
C#中的Form,textBox,Bitmap,PictureBox,Button,WebBrowser的更多相关文章
- ASP.NET 中通过Form身份验证 来模拟Windows 域服务身份验证的方法
This step-by-step article demonstrates how an ASP.NET application can use Forms authentication to ...
- jQuery中设置form表单中action值与js有什么不同。。。。
jQuery中设置form表单中action值与js有什么不同.... HTML代码如下: <form action="" method="post" i ...
- Django中的Form
Form 一.使用Form Django中的Form使用时一般有两种功能: 1.生成html标签 2.验证输入内容 要想使用django提供的form,要在views里导入form模块 from dj ...
- Javascript中的Form表单知识点总结
Javascript中的Form表单知识点总结 在HTML中,表单是由form元素来表示的,但是在javascript中,表单则由HTMLFormElement类型,此元素继承了HTMLElement ...
- django中的 form 表单操作
form组件 1. 能做什么事? 1. 能生成HTML代码 input框 2. 可以校验数据 3. 保留输入的数据 4. 有错误的提示 1. 定义 from django ...
- 转 Django中的Form
https://www.cnblogs.com/chenchao1990/p/5284237.html Form 一.使用Form Django中的Form使用时一般有两种功能: 1.生成html标签 ...
- 创建dynamics CRM client-side (十三) - 在HTML Web Resource中获取form elements & 获取外部js文件
上一节我们讨论到创建HTML Web Resource. 但是纯HTML的页面不能满足我们的需求, 所以今天我们来做在HTML Web Resource中获取form elements Please ...
- 【译】.NET 5. 0 中 Windows Form 的新特性
自从 Windows Form 在 2018 年底开源并移植到 .NET Core 以来,团队和我们的外部贡献者都在忙于修复旧的漏洞和添加新功能.在这篇文章中,我们将讨论 .NET 5.0 中 Win ...
- jQuery中设置form表单中action的值的方法
下面介绍在jQuery中设置form表单中action的值的方法. $("#myFormId").attr("action", "userinfo.s ...
- html代码中的form参数是基本一致的
由于pear的大多数模块仍处于开发当中,因此,这里列举的是随着php4.05一起发布的pear中的模块,需要注意的是,一些抽象类或者是基类(如mail.php,log.php,cache.php)没有 ...
随机推荐
- Druid和Spark对比
Druid和Spark对比 不是Spark专家, 如果描绘有错误, 请通过邮件列表或者其他方式告知我们 Spark实现弹性的分布式数据集概念的计算集群系统, 可以看做商业分析平台. RDDs能复用持久 ...
- vue2组件之异步组件...resolve
看开源项目的时候看到这样的用法: 发现与之前定义组件的方式不一样,这个resolve又是什么? 原来这个是vue的异步组件实现,可以看这里:<异步组件> 异步组件的需求: 在大型应用中,我 ...
- JAVA学习笔记 -- 多线程之共享资源
在多线程程序执行过程中,可能会涉及到两个或者多个线程试图同一时候訪问同一个资源.为了防止这样的情况的发生,必须在线程使用共享资源时给资源"上锁",以阻挡其他线程的訪问. 而这样的机 ...
- JAVA加解密 -- 消息摘要算法
消息摘要算法是一种单向加密算法 主要用于验证数据完整性,也是数字签名的核心算法 消息鉴别:指在接收方将原始信息进行摘要,然后与接收到的摘要信息进行对比 a.MD家族 – MD5(128位摘要信息) M ...
- lucene 加速索引建立速度
加速 lucene 索引建立速度 ImproveIndexingSpeed
- 【MyBatis学习15】MyBatis的逆向工程生成代码
1. 什么是逆向工程 mybatis的一个主要的特点就是需要程序员自己编写sql,那么如果表太多的话,难免会很麻烦,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需 ...
- xcode7和ios9适配之路
从xcode6.x升级xcode7.2之后,发现要做一堆事情来做适配,不然之前的项目没法好好执行. 一.换库 dylib后缀的库都要换成tbd后缀的.例如以下所看到的 换库前: 换库后: 二.http ...
- 修改IP核参数
有时需要重定制IP核时,需要打开IP核,可以试试用core generator 工具打开coregen.cgp文件.在core generator下修改IP核参数.
- C#中基本类型占用字节数
bool -> System.Boolean (布尔型,其值为 true 或者 false) byte -> System.Byte (字节型,占 1 字节,表示 8 位正整数,范围 0 ...
- Android学习之ItemTouchHelper实现RecylerView的拖拽以及滑动删除功能
今天在群里见大神们提到控件的拖动以及滑动删除的效果实现,就在网上找了资料ItemTouchHelper学习,并实现其功能.不胜窃喜之至,忍不住跟大家分享一下,如今就对学习过程做下简介.帮助大家实现这样 ...