因为今天是用的家里的电脑,用的不是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的更多相关文章

  1. ASP.NET 中通过Form身份验证 来模拟Windows 域服务身份验证的方法

    This step-by-step article demonstrates how an ASP.NET   application can use Forms authentication to ...

  2. jQuery中设置form表单中action值与js有什么不同。。。。

    jQuery中设置form表单中action值与js有什么不同.... HTML代码如下: <form action="" method="post" i ...

  3. Django中的Form

    Form 一.使用Form Django中的Form使用时一般有两种功能: 1.生成html标签 2.验证输入内容 要想使用django提供的form,要在views里导入form模块 from dj ...

  4. Javascript中的Form表单知识点总结

    Javascript中的Form表单知识点总结 在HTML中,表单是由form元素来表示的,但是在javascript中,表单则由HTMLFormElement类型,此元素继承了HTMLElement ...

  5. django中的 form 表单操作

     form组件  1. 能做什么事?   1. 能生成HTML代码  input框   2. 可以校验数据   3. 保留输入的数据   4. 有错误的提示   1. 定义   from django ...

  6. 转 Django中的Form

    https://www.cnblogs.com/chenchao1990/p/5284237.html Form 一.使用Form Django中的Form使用时一般有两种功能: 1.生成html标签 ...

  7. 创建dynamics CRM client-side (十三) - 在HTML Web Resource中获取form elements & 获取外部js文件

    上一节我们讨论到创建HTML Web Resource. 但是纯HTML的页面不能满足我们的需求, 所以今天我们来做在HTML Web Resource中获取form elements Please ...

  8. 【译】.NET 5. 0 中 Windows Form 的新特性

    自从 Windows Form 在 2018 年底开源并移植到 .NET Core 以来,团队和我们的外部贡献者都在忙于修复旧的漏洞和添加新功能.在这篇文章中,我们将讨论 .NET 5.0 中 Win ...

  9. jQuery中设置form表单中action的值的方法

    下面介绍在jQuery中设置form表单中action的值的方法. $("#myFormId").attr("action", "userinfo.s ...

  10. html代码中的form参数是基本一致的

    由于pear的大多数模块仍处于开发当中,因此,这里列举的是随着php4.05一起发布的pear中的模块,需要注意的是,一些抽象类或者是基类(如mail.php,log.php,cache.php)没有 ...

随机推荐

  1. 【招聘App】—— React/Nodejs/MongoDB全栈项目:消息列表

    前言:最近在学习Redux+react+Router+Nodejs全栈开发高级课程,这里对实践过程作个记录,方便自己和大家翻阅.最终成果github地址:https://github.com/66We ...

  2. 2017.11.30 tomcat远程调试

    参考来自:http://blog.csdn.net/afgasdg/article/details/9236877 1.jpda 有两种方式,一种是修改tomcat的catalina.bat来配置jp ...

  3. vue - path

    //path用来处理路径问题的. 1 const from = path.join(_dirname, './appes6/js'); => d:/Users/xxchi/Desktop/ES6 ...

  4. unity3D克隆50个游戏对象并输出Json格式的文本

    http://wenku.baidu.com/link?url=tl8q_aj1n-U267XkKtSZISaw6jKJ1woh4CJkDUr1AwEzllSAv7P0r7cawXXSyDVXNf6m ...

  5. selenium从入门到应用 - 7,testNG的DataProvider

    本系列所有代码 https://github.com/zhangting85/simpleWebtest 本文将介绍一个Java+TestNG+Maven+Selenium的web自动化测试脚本环境下 ...

  6. DB2解锁

    1.登录数据库 db2 connect to 数据库名字 user 用户名 using 密码 2.进入db2top db2top -d 数据库名 进入到如下界面:  3.按下shift+u(图中U-L ...

  7. javascript 清空数组的方法

    1,splice var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 输出 [],空数组,即被清空了 2,lengt ...

  8. jquery淡入淡出无延迟代码

    <!DOCTYPE html> <html> <head> <script src="jquery.js"></script& ...

  9. Java常见分页方式

    1. 网站常见分页样式 采用传统的分页方式(邮件列表),可以明确的获取数据信息,如有多少条数据 分多少页显示等 采用下拉式的分页样式(QQ空间),一般无法获取明确的数据数量相关的信息,但是在分页操作之 ...

  10. MongoDB笔记(三):Document 数据插入、删除、更新

    实例数据库caliven.集合users 一.插入文档 1.插入文档 db.[documentName].insert({}) 2.批量插入文档 .shell 这样执行是错误的db.[document ...