怎么用C#判断浏览者的分辨率呢? web应用程序:用CSS控制就可以了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用SCREENS类!!!!Screen[] screens = Screen.AllScreens;System.Drawing.Rectangle area = screens[0].Bounds;area.Width和Height就是分辨率了 我怎么没有这个命名空间呢?(web应用程序)System.Windows.Forms (在 System.Windows.Forms.dll 中) 如果是webFrom的话用javascript好象可以 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 我要得到当前浏览者的分辨率Width的值。wevForm中不能直接获得这个值吗?? 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 ( ) ) ;}} 可惜不懂vb.net大概意思知道。但是我不知道用C#怎么写。而切我也不太懂javascript.请大家帮帮我把。谢谢。 rect = Screen.GetWorkingArea ( this ) ;不好意思,把上句该为rect = Screen.GetWorkingArea(rect); 我用的是webfrom. win程序这里用不了把?我水平很差。基本上没写过什么win程序。 我用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里的操作呢? 不是啊,在webform一样可以实现的,我已经测试通过了。 其实只要有下面这几句就可以了 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(); } System.Data.DataSet ds=new DataSet();这句话是多余的 WebFrom里有System.Windows.Forms这个命名空间吗?我这没有。只有在win 里才有。好急啊。 我的WebFrom里没有System.Windows.Forms这个命名空间。到底是win和Web本身的区别。还是我这里出了什么问题。好烦。。 代码文件中ASP.NET的服务端执行的.可以在"引用"中增加System.Windows.Forms这个命名空间.也可以编写代码.但得到的应该是服务端的数据吧?! 想做一个这样的界面,求类似源码 【提问】用C#编写照片查看器 C# 调用RAR.exe 加密文件夹 一点小问题? winfrom中怎么样导出word文档 在C#中嵌入Java脚本是怎样将脚本中的变量值传递到C#中 有关带多个参数的存储过程的实现 试了几天的就是不行,谁可以帮我啊 如何自定义一个控件?如何把TextBox控件变为下划线? 初学,这个哪里错了 看我的代码,请您解决操作datagrid的问题!!! web程序发布问题。 请问form里坐标怎样对应桌面的坐标?
Screen[] screens = Screen.AllScreens;
System.Drawing.Rectangle area = screens[0].Bounds;
area.Width和Height就是分辨率了
System.Windows.Forms (在 System.Windows.Forms.dll 中)
下面的代码实现了检测客户端显示器分辨率、浏览器类型和客户端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
wevForm中不能直接获得这个值吗??
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 ( ) ) ;}
}
而切我也不太懂javascript.
请大家帮帮我把。
谢谢。
不好意思,把上句该为
rect = Screen.GetWorkingArea(rect);
我水平很差。基本上没写过什么win程序。
实现判断分辨率。
然而在.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里的操作呢?
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(); }
这句话是多余的
我这没有。
只有在win 里才有。
好急啊。
还是我这里出了什么问题。
好烦。。
可以在"引用"中增加System.Windows.Forms这个命名空间.也可以编写代码.但得到的
应该是服务端的数据吧?!