日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

用C#编写网页小应用程序(Applet)

發布時間:2023/12/31 C# 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用C#编写网页小应用程序(Applet) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學過Java的朋友可能都聽說過Java的歷史:當初Java是為機頂盒設備和手持設備設計的,可惜理念在當時太朝前,結果沒有被人所接受,于是Java的創始人James Gosling想到在網絡上碰碰運氣,當時吸引大家眼球的就是用Java編寫的一個Applet,早期Java的應用很多時用來編寫Applet,后來慢慢發展到J2ME/J2SE/J2EE三個分支。

現在RIA(Rich Internet Application,富互聯網應用系統)方面已經是Flash和sliverlight的天下了,所以微軟推出C#的時候沒有對類似Applet這樣的網頁小應用程序的支持,不過利用.net我們還是可以做出一些類似于Applet的網頁小應用程序來。當然,就像Java編寫的Applet需要客戶端安裝相應的JRE一樣,我們用C#編寫的小網頁應用程序也需要客戶端安裝相應版本的.net framework,否則網頁中小程序是沒有辦法正常運行的。

說明:寫這個程序只為娛樂,好像沒有太多實際用途,下面的效果其實用Flash或者sliverlight很將簡單就實現了。

?

且看一個在網頁上不停跳動的小球的代碼:

  • using?System;
  • using?System.Collections.Generic;
  • using?System.ComponentModel;
  • using?System.Data;
  • using?System.Drawing;
  • using?System.Drawing.Drawing2D;
  • using?System.Drawing.Imaging;
  • using?System.Text;
  • using?System.Windows.Forms;
  • using?System.Threading;
  • namespace?BallGame
  • {
  • ????///?<summary>
  • ????///?程序說明:這是一個彈球的程序代碼。程序的運行效果是
  • ????///?一個藍色的小球在控件顯示區域運動,當小球超出屏幕顯示區域
  • ????///?后,會自動反彈。
  • ????///?作者:周公
  • ????///?日期:2008-08-01
  • ????///?首發地址:http://blog.csdn.net/zhoufoxcn/archive/2008/08/01/2755502.aspx
  • ????///?</summary>
  • ????public?class?BallControl?:?Control
  • ????{
  • ????????private?Rectangle?ballRegion?=?new?Rectangle(0,?0,?50,?50);//在顯示區域的球的尺寸
  • ????????private?Thread?thread;//繪制線程
  • ????????private?Image?image;//即將要在顯示區域繪制的圖象
  • ????????private?int?speedX?=?4;//球的水平移動速度
  • ????????private?int?speedY?=?6;//球的垂直移動速度
  • ????????public?BallControl()
  • ????????{
  • ????????????ClientSize?=?new?Size(200,?300);
  • ????????????BackColor?=?Color.Gray;
  • ????????????thread?=?new?Thread(new?ThreadStart(Run));
  • ????????????thread.Start();
  • ????????}
  • ????????protected?override?void?OnPaint(PaintEventArgs?e)
  • ????????{
  • ????????????if?(image?!=?null)
  • ????????????{
  • ????????????????e.Graphics.DrawImage(image,?0,?0);
  • ????????????}
  • ????????}
  • ????????///?<summary>
  • ????????///?繪制球在顯示區域移動的線程
  • ????????///?</summary>
  • ????????public?void?Run()
  • ????????{
  • ????????????while?(true)
  • ????????????{
  • ????????????????image?=?new?Bitmap(ClientSize.Width,?ClientSize.Height);
  • ????????????????Graphics?g?=?Graphics.FromImage(image);
  • ????????????????g.FillEllipse(Brushes.Blue,?ballRegion);
  • ????????????????g.Dispose();
  • ????????????????if?((ballRegion.X?<?0)?||?(ballRegion.X?+?ballRegion.Width?>=?ClientSize.Width))
  • ????????????????{
  • ????????????????????speedX?=?-speedX;
  • ????????????????}
  • ????????????????if?((ballRegion.Y?<?0)?||?(ballRegion.Y?+?ballRegion.Height?>=?ClientSize.Height))
  • ????????????????{
  • ????????????????????speedY?=?-speedY;
  • ????????????????}
  • ????????????????ballRegion.X?+=?speedX;
  • ????????????????ballRegion.Y?+=?speedY;
  • ????????????????Invalidate();//重新繪制
  • ????????????????Thread.Sleep(300);
  • ????????????}
  • ????????}
  • ????}
  • }
  • 將其編譯成dll文件,用如下命令(注意用.net framework的命令行,否則需要設置環境變量):
  • csc /t:library /out:BallGame.dll BallGame.cs
  • 這樣得到BallGame.dll 文件,再建立一個html文件,代碼如下:
  • <!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  • <html?xmlns="http://www.w3.org/1999/xhtml">
  • <head>
  • <meta?http-equiv="Content-Type"?content="text/html;?charset=gb2312"?/>
  • <title>C#編寫Applet之彈球</title>
  • </head>
  • <body>
  • <object?id="t"?classid="BallGame.dll#BallGame.BallControl"height="200"?width="300"?VIEWASTEXT>
  • </object>
  • </body>
  • </html>
  • 下面是程序的運行效果:
  • 用C#編寫網頁小應用程序要注意的幾點:
  • 1、編寫的類應該繼承自Control類;
  • 2、應該程序代碼編譯成dll類庫;
  • 3、在網頁中通過<object></object>的形式嵌入,classId采用classid="dll的url地址#命名空間.類名"的形式。如示例中classid="BallGame.dll#BallGame.BallControl"中BallGame.dll是放在網頁同一目錄下,BallControl類處在BallGame命名空間下。需要注意的是,好像沒有什么辦法來在程序中獲取網頁上設置的顯示尺寸,所以要保證網頁中設置的寬度和空間的尺寸一直。
  • 有興趣的朋友可以到:http://www.netskycn.com/ballgame.html和http://www.netskycn.com/taiji.html查看我編寫的兩個用C#編寫的網頁小應用程序的運行效果。

    轉載于:https://www.cnblogs.com/zhoufoxcn/archive/2008/08/01/2515702.html

    總結

    以上是生活随笔為你收集整理的用C#编写网页小应用程序(Applet)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。