web应用程序:
用CSS控制就可以了!

解决方案 »

  1.   

    用SCREENS类!!!!
    Screen[] screens = Screen.AllScreens;
    System.Drawing.Rectangle area = screens[0].Bounds;
    area.Width和Height就是分辨率了
      

  2.   

    我怎么没有这个命名空间呢?(web应用程序)
    System.Windows.Forms (在 System.Windows.Forms.dll 中)
      

  3.   

    如果是webFrom的话用javascript好象可以
      

  4.   

    vb.net版本的,看思路,自己改下检测客户端显示器分辨率、浏览器类型和客户端IP   
    下面的代码实现了检测客户端显示器分辨率、浏览器类型和客户端IP的功能。你可以把客户端信息保存到Session,ViewState等中以便在其它的页面直接使用。ClientPeek.aspx<%@ Page language="vb" EnableViewState="false" Codebehind="ClientPeek.aspx.vb"
     AutoEventWireup="false" Inherits="aspxWeb.ClientPeek"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
      <HEAD>
        <title>检测客户端显示器分辨率、浏览器类型和客户端IP</title>
        <META http-equiv="Content-Type" content="text/html; charset=gb2312">
        <meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
        <meta content="C#" name="CODE_LANGUAGE">
        <meta content="【孟子E章】:http://xml.sz.luohuedu.net/" name="CopyRight">
        <meta content="JavaScript" name="vs_defaultClientScript">
        <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
      </HEAD>
      <body id="MyBody" MS_POSITIONING="GridLayout" runat="server">
        <form id="browserpeek" runat="server">
          <asp:label id="Label1" runat="server"></asp:label></form>
      </body>
    </HTML>ClientPeek.aspx.vbImports SystemPublic Class ClientPeek
      Inherits System.Web.UI.Page
      Protected WithEvents Label1 As System.Web.UI.WebControls.Label
      Protected WithEvents MyBody As System.Web.UI.HtmlControls.HtmlGenericControl
    #Region " Web 窗体设计器生成的代码 "  '该调用是 Web 窗体设计器所必需的。
      <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()  End Sub  '注意: 以下占位符声明是 Web 窗体设计器所必需的。
      '不要删除或移动它。
      Private designerPlaceholderDeclaration As System.Object  Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles MyBase.Init
        'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
        '不要使用代码编辑器修改它。
        InitializeComponent()
      End Sub#End Region  Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles MyBase.Load
        Dim Button1 As New System.Web.UI.WebControls.Button
        If Not Me.IsPostBack Then
          Dim btnW As New System.Web.UI.HtmlControls.HtmlInputHidden
          Dim btnH As New System.Web.UI.HtmlControls.HtmlInputHidden
          Button1.ID = "Button1"
          btnW.Name = "WidthPixel"
          btnW.ID = "WidthPixel"
          btnH.Name = "HeightPixel"
          btnH.ID = "HeightPixel"
          Me.FindControl("browserpeek").Controls.Add(btnW)
          Me.FindControl("browserpeek").Controls.Add(btnH)
          Me.FindControl("browserpeek").Controls.Add(Button1)
          Dim scriptString As String = ""
          scriptString += "document.browserpeek.WidthPixel.value=window.screen.width;"
          scriptString += "document.browserpeek.HeightPixel.value=window.screen.height;"
          Me.RegisterOnSubmitStatement("Meng", scriptString)
          Me.MyBody.Attributes.Add("onload", "document.browserpeek.Button1.click();")
        Else
          Me.MyBody.Attributes.Remove("onload")
          If Me.FindControl("browserpeek").Controls.Contains(Button1) Then
            Me.FindControl("browserpeek").Controls.Remove(Button1)
            Button1.Dispose()
          End If
          Dim strLabel As New System.Text.StringBuilder
          Dim bc As HttpBrowserCapabilities = Request.Browser
          strLabel.Append("您的浏览器的分辨率为:")
          strLabel.Append(Request.Form("WidthPixel"))
          strLabel.Append("×")
          strLabel.Append(Request.Form("HeightPixel"))
          strLabel.Append("<hr color='#000099'>")
          strLabel.Append("浏览器基本信息:<br>")
          strLabel.Append("Type = " & bc.Type & "<br>")
          strLabel.Append("Name = " & bc.Browser & "<br>")
          strLabel.Append("Version = " & bc.Version & "<br>")
          strLabel.Append("Major Version = " & bc.MajorVersion & "<br>")
          strLabel.Append("Minor Version = " & bc.MinorVersion & "<br>")
          strLabel.Append("Platform = " & bc.Platform & "<br>")
          strLabel.Append("Is Beta = " & bc.Beta & "<br>")
          strLabel.Append("Is Crawler = " & bc.Crawler & "<br>")
          strLabel.Append("Is AOL = " & bc.AOL & "<br>")
          strLabel.Append("Is Win16 = " & bc.Win16 & "<br>")
          strLabel.Append("Is Win32 = " & bc.Win32 & "<br>")
          strLabel.Append("支持 Frames = " & bc.Frames & "<br>")
          strLabel.Append("支持 Tables = " & bc.Tables & "<br>")
          strLabel.Append("支持 Cookies = " & bc.Cookies & "<br>")
          strLabel.Append("支持 VB Script = " & bc.VBScript & "<br>")
          strLabel.Append("支持 JavaScript = " & bc.JavaScript & "<br>")
          strLabel.Append("支持 Java Applets = " & bc.JavaApplets & "<br>")
          strLabel.Append("支持 ActiveX Controls = " & bc.ActiveXControls & "<br>")
          strLabel.Append("CDF = " & bc.CDF & "<br>")
          strLabel.Append("W3CDomVersion  = " + bc.W3CDomVersion.ToString + "<br>")
          strLabel.Append("UserAgent  = " + Request.UserAgent + "<br>")
          strLabel.Append("UserLanguages  = " + Request.UserLanguages(0).ToString + "<br>")
          strLabel.Append("<hr color='#000099'>")
          strLabel.Append("客户端计算机基本配置:<br>")
          strLabel.Append("UserHostName  = " + Request.UserHostName + "<br>")
          strLabel.Append("UserHostAddress  = " + Request.UserHostAddress + "<br>")
          Label1.Text = strLabel.ToString()
        End If
      End Sub
      
    End Class 
      

  5.   

    我要得到当前浏览者的分辨率Width的值。
    wevForm中不能直接获得这个值吗??
      

  6.   

    using System ;
    using System.Drawing ;
    using System.Collections ;
    using System.ComponentModel ;
    using System.Windows.Forms ;
    using System.Data ; 
    public class Form1 : Form
    {
    private Button button1 ;
    private System.ComponentModel.Container components = null ;public Form1 ( )
    {
    InitializeComponent ( ) ;
    }
    protected override void Dispose( bool disposing )
    {
    if( disposing )
    {
    if ( components != null ) 
    {
    components.Dispose ( ) ;
    }
    }
    base.Dispose ( disposing ) ;
    }private void InitializeComponent ( ) 
    {
    this.button1 = new Button ( ) ;
    this.SuspendLayout ( ) ;
    this.button1.Location = new System.Drawing.Point ( 144 , 96 ) ;
    this.button1.Name = "button1" ;
    this.button1.TabIndex = 0 ;
    this.button1.Text = "得到机器的分辨率" ;
    this.button1.Size = new System.Drawing.Size ( 140 , 50 ) ;
    this.button1.Location = new System.Drawing.Point ( 75 , 90 ) ;
    this.button1.Click += new System.EventHandler ( this.button1_Click ) ;
    this.ClientSize = new System.Drawing.Size ( 292 , 273 ) ;
    this.Controls.Add ( button1 ) ;
    this.Name = "Form1" ;
    this.Text = "用Visual C#获得机器的分辨率!" ;
    this.ResumeLayout ( false ) ;
    }static void Main ( ) 
    {
    Application.Run ( new Form1 ( ) ) ;
    }private void button1_Click ( object sender , System.EventArgs e )
    {
    file://创建一个矩形对象
    Rectangle rect = new Rectangle ( ) ; 
    file://通过一个函数对这个矩形对象赋值,这些值就是屏幕的工作区域
    rect = Screen.GetWorkingArea ( this ) ;
    MessageBox.Show ( "本机器的分辨率是" + rect.Width.ToString ( ) + "*" + rect.Height.ToString ( ) ) ;}
    }
      

  7.   

    可惜不懂vb.net大概意思知道。但是我不知道用C#怎么写。
    而切我也不太懂javascript.
    请大家帮帮我把。
    谢谢。
      

  8.   

    rect = Screen.GetWorkingArea ( this ) ;
    不好意思,把上句该为
    rect = Screen.GetWorkingArea(rect);
      

  9.   

    我用的是webfrom.  win程序这里用不了把?
    我水平很差。基本上没写过什么win程序。
      

  10.   

    我用javescript:document.browserpeek.input1.value=window.screen.width;
    实现判断分辨率。
    然而在.net中是先执行:private void Page_Load(object sender, System.EventArgs e)中的程序,再去执行.aspx的代码。
    这样就导致我不能在Page_Load中用
    if(input1.value==“800”)
    {
      程序1;
    }
    else
    {
      程序2;
    }
    因为程序先把Page_Load中代码全部执行完,在去做其他的事情。
    所以这个时候input1.value实际上是没值的。
    请问这个问题怎么解决?在Page_Load中能不能先用javascript判断出分辨率。
    然后获得这个值后,继续Page_Load里的操作呢?
      

  11.   

    不是啊,在webform一样可以实现的,我已经测试通过了。
      

  12.   

    其实只要有下面这几句就可以了
    private void Button1_Click(object sender, System.EventArgs e)
    {
    System.Data.DataSet ds=new DataSet();

    Rectangle rect = new Rectangle();
    rect = Screen.GetWorkingArea(rect);
    this.Label1.Text=rect.Width.ToString(); }
      

  13.   

    System.Data.DataSet ds=new DataSet();
    这句话是多余的
      

  14.   

    WebFrom里有System.Windows.Forms这个命名空间吗?
    我这没有。
    只有在win 里才有。
    好急啊。
      

  15.   

    我的WebFrom里没有System.Windows.Forms这个命名空间。到底是win和Web本身的区别。
    还是我这里出了什么问题。
    好烦。。
      

  16.   

    代码文件中ASP.NET的服务端执行的.
    可以在"引用"中增加System.Windows.Forms这个命名空间.也可以编写代码.但得到的
    应该是服务端的数据吧?!