1. 如何创建一个可改变大小没有标题栏的窗体?(How to create a form with resizing borders and no title bar?)
form1.Text = string. Empty;
form1.ControlBox = false;
2. 如何在.NET的Windows窗体上启用XP主题集?(How to use XP Themes with Windows Forms using the .NET?)
确认你的控件中FlatStyle属性已经修改为System,再修改Main方法。
static void Main()
{
Application.EnableVisualStyles();
Application.DoEvents();
Application. Run(new Form1());
}
3. 如何为一个窗体设置一个默认按钮?(How to set the default button for a form?)
form1.AcceptButton = button1;
4. 如何为一个窗体设置一个取消按钮?(How to set the Cancel button for a form?)
form1.CancelButton = button1;
5. 如何阻止一个窗体标题显示在任务栏上?(How to prevent a form from being shown in the taskbar?)
设置窗体的ShowIntaskbar属性为False
6. 如何用现有可用字体绑定到ComboBox控件?(How to fill a ComboBox with the available fonts?)
comboBox1.Items.AddRange (FontFamily.Families);
7. 如何禁止TextBox控件默认的邮件菜单?(How to disable the default ContextMenu of a TextBox?)
textBox1.ContextMenu = new ContextMenu ();
8. 如何获取“我的文档”等一些系统文件夹路径?(How to get the path for "My Documents" and other system folders?)
Environment.SpecialFolder中包含了一些系统文件夹信息
MessageBox.Show(Environment.GetFolderPath( Environment.SpecialFolder.Personal );
9. 如何获取应用程序当前执行的路径?(How to get the path to my running EXE?)
string appPath = Application.ExecutablePath;
10. 如何确定当前运行的系统?(How to determine which operating system is running?)
OperatingSystem os = Environment.OSVersion;
MessageBox.Show(os.Version.ToString());
MessageBox.Show(os.Platform.ToString());
11. 如何从完整的路径中获取文件名?(How to get a file's name from the complete path string?)
用System.IO.Path.GetFileName 和 System.IO.Path.GetFileNameWithoutExtension(无扩展名)的方法
12. 如何从完整的路径中获取文件扩展名?(How to get a file's extension from the complete path string?)
用System.IO.Path.GetExtension方法
13. 如何使没有选择日期的DateTimePicker控件为空文本?(How to make the DateTimePicker show empty text if no date is selected?)
dateTimePicker1.CustomFormat = " ";
dateTimePicker1.Format = DateTimePickerFormat.Custom;
14. 如何在Report Viewer中隐藏Crystal Report的状态栏?(How to hide the status bar of Crystal Report in Report Viewer?)
foreach(object obj in this.crystalReportViewer1.Controls)
{
if( obj.GetType()== typeof(System.Windows.Forms.StatusBar))
{
StatusBar sBar=(StatusBar)obj;
sBar.Visible=false;
}
}
15. 如何利用Crystal Report程序来生成PDF版本?(How to generate PDF version of Crystal Report programmatically?)
ReportDocument O_Report=new ReportDocument();
ExportOptions exportOpts = new ExportOptions();
PdfRtfWordFormatOptions pdfFormatOpts = new PdfRtfWordFormatOptions ();
DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions();
exportOpts = O_Report.ExportOptions;
// 设置PDF格式
exportOpts.ExportFormatType = ExportFormatType.PortableDocFormat;
exportOpts.FormatOptions = pdfFormatOpts;
// 设置文件选项和导出
exportOpts.ExportDestinationType = ExportDestinationType.DiskFile;
diskOpts.DiskFileName = "C://Trial.pdf"; //设置PDF导出路径
exportOpts.DestinationOptions = diskOpts;
O_Report.Export ();
16.通过代码如何输入多行文本?(How to enter multiline text in textbox through code? )
利用TextBox控件的LINES属性
string [] strAddress = {"Mukund Pujari","Global Transformation Technologies","Pune, India"};
textBox1.MultiLine=true;
textBox1.Lines=strAddress;
或者
textBox1.Text="Line 1/r/nLine2/r/nLine3.";
或者
用"System.Environment.NewLine"来替代换行符号
17. 如何在DataGrid中去掉CheckBox不确定状态?(How to remove the indeterminate status of checkbox in datagrid?)
DataGridTableStyle ts1 = new DataGridTableStyle(); //创建Table样式
ts1.MappingName = "Items"; //分配要应用样式的Data Table
DataGridColumnStyle boolCol = new DataGridBoolColumn(); // 创建CheckBox列
boolCol.MappingName = "ch"; //分配数据列名称
boolCol.AllowNull=false; // 修改AllowNull属性
18. 如何在用一个数据源DataTable绑定两个控件,确保变化不反映在两个控件中?( How to bind two controls to the same DataTable without having changes in one control also change the other control?)
我们在一个Form中放置一个ListBox和一个ComboBox控件,当数据源是一个DataTable而且绑定的ValueMember一致的时候我们选择ListBox中的一个Item时,ComboBox控件中的相同的Item也会被自动选中,我们可以采取建立新的上下文绑定对象来拒绝这样的同步操作
comboBox1.DataSource = dataset.Tables[ "Items" ];
comboBox1.ValueMember = "CustomerID";
comboBox1.DisplayMember = "CustomerID";
listBox1.BindingContext = new BindingContext(); // 设置新的上下文绑定对象
listBox1.DataSource = dataset.Tables[ "Items" ];
listBox1.ValueMember = "CustomerID";
listBox1.DisplayMember = "CustomerID";
19. 一个简单的创建链接字符串的方法。(An easy way to build connection string.)
记事本创建一个New.udl的文件,一个Microsoft 数据链接文件
双击打开,熟悉吧
按照向导创建完成一个数据库链接,测试成功
确定后,链接字符串写入这个文件,用记事本打开就看到了
20. 如何打开客户端E-Mail程序,Windows应用和Web应用?( How to open default E-mail client on your system with all parameters entered in it,like Outlook Express or Eudora, from your .NET windows or Web Application? )
Web Application:
A href="mailto:email@address1.com,email@address2.com?cc=email@address3.com&Subject=Hello&body=Happy New Year"
Windows Application:
引用System.Diagnostics.Process 命名空间
Process process = new Process();
process.StartInfo.FileName = "mailto:email@address1.com,email@address2.com?subject=Hello&cc=email@address3.com
&bcc=email@address4.com&body=Happy New Year" ;
process.Start();
21. VB.NET和C#有什么不同?( What is difference beween VB.NET and C#.NET? )
去微软下载一个文档吧,http://download.microsoft.com/download/6/3/5/6354bf47-c597-4029-89e9-2495e7539ab9/vbcsharpwp.exe
22. How to find whether your system has mouse or the number of buttons, whether it has wheel, or whether the mouse buttons are swapped or size of your monitor and many such information?
23. 如何使Windows Form上的Panel或者Label控件半透明?(How to make a Panel or Label semi-transparent on a Windows Form? )
通过设置控件背景色的alpha值
panel1.BackColor = Color.FromArgb(65, 204, 212, 230);
注意:在设计时手动输入这些值,不要用颜色选取
24. C#程序的主函数写[STA Thread] 属性是什么目的?(What is the purpose of the [STA Thread] attribute for the Main method of a C# program? )
http://community.youkuaiyun.com/Expert/topic/4132/4132313.xml?temp=.2285272
25. 如何触发Button的Click事件?(How to trigger a button click event? )
button1.PerformClick();
loading...
2006-1-17
ASP.NET程式中常用的三十三種代碼二 [转]
18.日期格式化
【aspx頁面內:<%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date"%>
顯示為: 2004-8-11 19:44:28
我只想要:2004-8-11 】
<%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date","{0:yyyy-M-d}"%>
應該如何改?
【格式化日期】
取出來,一般是object((DateTime)objectFromDB).ToString("yyyy-MM-dd";
【日期的驗證運算式】
A.以下正確的輸入格式: [2004-2-29], [2004-02-29 10:29:39 pm], [2004/12/31]
^((/d{2}(([02468][048])|([13579][26]))[/-///s]?((((0?[13578])|(1[02]))[/-///s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[/-///s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[/-///s]?((0?[1-9])|([1-2][0-9])))))|(/d{2}(([02468][1235679])|([13579][01345789]))[/-///s]?((((0?[13578])|(1[02]))[/-///s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[/-///s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[/-///s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(/s(((0?[1-9])|(1[0-2]))/[0-5][0-9])((/s)|(/[0-5][0-9])/s))([AM|PM|am|pm]{2,2})))?$
B.以下正確的輸入格式:[0001-12-31], [9999 09 30], [2002/03/03]
^/d{4}[/-///s]?((((0[13578])|(1[02]))[/-///s]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[/-///s]?(([0-2][0-9])|(30)))|(02[/-///s]?[0-2][0-9]))$
【大小寫轉換】
HttpUtility.HtmlEncode(string);
HttpUtility.HtmlDecode(string)
19.如何設定全局變數
Global.asax中
Application_Start()事件中
添加Application[屬性名] = xxx;
就是你的全局變數
20.怎樣作到HyperLinkColumn生成的連接後,點擊連接,打開新窗口?
HyperLinkColumn有個屬性Target,將器值設置成"_blank"即可.(Target="_blank"
【ASPNETMENU】點擊功能表項彈出新窗口
在你的menuData.xml文件的功能表項中加入URLTarget="_blank",如:
<?xml version="1.0" encoding="GB2312"?>
<MenuData ImagesBaseURL="images/">
<MenuGroup>
<MenuItem Label="內參資訊" URL="Infomation.aspx" >
<MenuGroup ID="BBC">
<MenuItem Label="公告資訊" URL="Infomation.aspx" URLTarget="_blank" LeftIcon="file.gif"/>
<MenuItem Label="編制資訊簡報" URL="NewInfo.aspx" LeftIcon="file.gif" />
......
最好將你的aspnetmenu升級到1.2版
21.讀取DataGrid控件TextBox值
foreach(DataGrid dgi in yourDataGrid.Items)
{
TextBox tb = (TextBox)dgi.FindControl("yourTextBoxId";
tb.Text....
}
23.在DataGrid中有3個模板列包含Textbox分別為 DG_ShuLiang (數量) DG_DanJian(單價) DG_JinE(金額)分別在5.6.7列,要求在錄入數量及單價的時候自動算出金額即:數量*單價=金額還要求錄入時限制為 數值型.我如何用客戶端腳本實現這個功能?
〖思歸〗
<asp:TemplateColumn HeaderText="數量">
<ItemTemplate>
<asp:TextBox id="ShuLiang" runat=’server’ Text=’<%# DataBinder.Eval(Container.DataItem,"DG_ShuLiang"%>’
onkeyup="javascriptoCal()"
/>
<asp:RegularExpressionValidator id="revS" runat="server" ControlToValidate="ShuLiang" ErrorMessage="must be integer" ValidationExpression="^/d+$" />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="單價">
<ItemTemplate>
<asp:TextBox id="DanJian" runat=’server’ Text=’<%# DataBinder.Eval(Container.DataItem,"DG_DanJian"%>’
onkeyup="javascriptoCal()"
/>
<asp:RegularExpressionValidator id="revS2" runat="server" ControlToValidate="DanJian" ErrorMessage="must be numeric" ValidationExpression="^/d+(/./d*)?$" />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="金額">
<ItemTemplate>
<asp:TextBox id="JinE" runat=’server’ Text=’<%# DataBinder.Eval(Container.DataItem,"DG_JinE"%>’ />
</ItemTemplate>
</asp:TemplateColumn><script language="javascript">
function DoCal()
{
var e = event.srcElement;
var row = e.parentNode.parentNode;
var txts = row.all.tags("INPUT";
if (!txts.length || txts.length < 3)
return;
var q = txts[txts.length-3].value;
var p = txts[txts.length-2].value;
if (isNaN(q) || isNaN(p))
return;
q = parseInt(q);
p = parseFloat(p);
txts[txts.length-1].value = (q * p).toFixed(2);
}
</script>
24.datagrid選定比較底下的行時,為什麼總是刷新一下,然後就滾動到了最上面,剛才選定的行因螢幕的關係就看不到了。
page_load
page.smartNavigation=true
25.在Datagrid中修改數據,當點擊編輯鍵時,數據出現在文本框中,怎麼控制文本框的大小 ?
private void DataGrid1_ItemDataBound(obj sender,DataGridItemEventArgs e)
{
for(int i=0;i<e.Item.Cells.Count-1;i++)
if(e.Item.ItemType==ListItemType.EditType)
{
e.Item.Cells[i].Attributes.Add("Width", "80px"
}
}
26.對話方塊
private static string ScriptBegin = "<script language=/"JavaScript/">";
private static string ScriptEnd = "</script>";
public static void ConfirmMessageBox(string PageTarget,string Content)
{
string ConfirmContent="var retValue=window.confirm(’"+Content+"’);"+"if(retValue){window.location=’"+PageTarget+"’;}";
ConfirmContent=ScriptBegin + ConfirmContent + ScriptEnd;
Page ParameterPage = (Page)System.Web.HttpContext.Current.Handler;
ParameterPage.RegisterStartupScript("confirm",ConfirmContent);
//Response.Write(strScript);
}
27. 將時間格式化:string aa=DateTime.Now.ToString("yyyy年MM月dd日";
1.1 取當前年月日時分秒
currentTime=System.DateTime.Now;
1.2 取當前年
int 年= DateTime.Now.Year;
1.3 取當前月
int 月= DateTime.Now.Month;
1.4 取當前日
int 日= DateTime.Now.Day;
1.5 取當前時
int 時= DateTime.Now.Hour;
1.6 取當前分
int 分= DateTime.Now.Minute;
1.7 取當前秒
int 秒= DateTime.Now.Second;
1.8 取當前毫秒
int 毫秒= DateTime.Now.Millisecond;
28.自定義分頁代碼:
先定義變數 :
public static int pageCount; //總頁面數
public static int curPageIndex=1; //當前頁面
下一頁:
if(DataGrid1.CurrentPageIndex < (DataGrid1.PageCount - 1))
{
DataGrid1.CurrentPageIndex += 1;
curPageIndex+=1;
}
bind(); // DataGrid1數據綁定函數
上一頁:
if(DataGrid1.CurrentPageIndex >0)
{
DataGrid1.CurrentPageIndex += 1;
curPageIndex-=1;
}
bind(); // DataGrid1數據綁定函數
直接頁面跳轉:
int a=int.Parse(JumpPage.Value.Trim());//JumpPage.Value.Trim()為跳轉值
if(a<DataGrid1.PageCount)
{
this.DataGrid1.CurrentPageIndex=a;
}
bind();
29.DataGrid使用:
添加刪除確認:
private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
foreach(DataGridItem di in this.DataGrid1.Items)
{
if(di.ItemType==ListItemType.Item||di.ItemType==ListItemType.AlternatingItem)
{
((LinkButton)di.Cells[8].Controls[0]).Attributes.Add("onclick","return confirm(’確認刪除此項嗎?’);";
}
}
}
樣式交替:
ListItemType itemType = e.Item.ItemType;
if (itemType == ListItemType.Item
{
e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor=’#FFFFFF’;";
e.Item.Attributes["onmouseover"] = "javascript:this.style.backgroundColor=’#d9ece1’;cursor=’hand’;" ;
}
else if( itemType == ListItemType.AlternatingItem)
{
e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor=’#a0d7c4’;";
e.Item.Attributes["onmouseover"] = "javascript:this.style.backgroundColor=’#d9ece1’;cursor=’hand’;" ;
}
添加一個編號列:
DataTable dt= c.ExecuteRtnTableForAccess(sqltxt); //執行sql返回的DataTable
DataColumn dc=dt.Columns.Add("number",System.Type.GetType("System.String");
for(int i=0;i<dt.Rows.Count;i++)
{
dt.Rows[i]["number"]=(i+1).ToString();
}
DataGrid1.DataSource=dt;
DataGrid1.DataBind();
DataGrid1中添加一個CheckBox,頁面中添加一個全選框
private void CheckBox2_CheckedChanged(object sender, System.EventArgs e)
{
foreach(DataGridItem thisitem in DataGrid1.Items)
{
((CheckBox)thisitem.Cells[0].Controls[1]).Checked=CheckBox2.Checked;
}
}
將當前頁面中DataGrid1顯示的數據全部刪除
foreach(DataGridItem thisitem in DataGrid1.Items)
{
if(((CheckBox)thisitem.Cells[0].Controls[1]).Checked)
{
string strloginid= DataGrid1.DataKeys[thisitem.ItemIndex].ToString();
Del (strloginid); //刪除函數
}
}
30.當文件在不同目錄下,需要獲取數據庫連接字符串(如果連接字符串放在Web.config,然後在Global.asax中初始化)
在Application_Start中添加以下代碼:
Application["ConnStr"]=this.Context.Request.PhysicalApplicationPath+ConfigurationSettings.
AppSettings["ConnStr"].ToString();
31. 變數.ToString()
字符型轉換 轉為字符串
12345.ToString("n"; //生成 12,345.00
12345.ToString("C"; //生成 ¥12,345.00
12345.ToString("e"; //生成 1.234500e+004
12345.ToString("f4"; //生成 12345.0000
12345.ToString("x"; //生成 3039 (16進制)
12345.ToString("p"; //生成 1,234,500.00%
32、變數.Substring(參數1,參數2);
截取字串的一部分,參數1為左起始位數,參數2為截取幾位。 如:string s1 = str.Substring(0,2);
33.在自己的網站上登陸其他網站:(如果你的頁面是通過嵌套方式的話,因為一個頁面只能有一個FORM,這時可以導向另外一個頁面再提交登陸資訊)
<SCRIPT language="javascript">
<!--
function gook(pws)
{
frm.submit();
}
//-->
</SCRIPT> <body leftMargin="0" topMargin="0" onload="javascript:gook()" marginwidth="0" marginheight="0">
<form name="frm" action=" http://220.194.55.68:6080/login.php?retid=7259 " method="post">
<tr>
<td>
<input id="f_user" type="hidden" size="1" name="f_user" runat="server">
<input id="f_domain" type="hidden" size="1" name="f_domain" runat="server">
<input class="box" id="f_pass" type="hidden" size="1" name="pwshow" runat="server">
<INPUT id="lng" type="hidden" maxLength="20" size="1" value="5" name="lng">
<INPUT id="tem" type="hidden" size="1" value="2" name="tem">
</td>
</tr>
</form>
文本框的名稱必須是你要登陸的網頁上的名稱,如果源碼不行可以用vsniffer 看看。
下面是獲取用戶輸入的登陸資訊的代碼:
string name;
name=Request.QueryString["EmailName"];
try
{
int a=name.IndexOf("@",0,name.Length);
f_user.Value=name.Substring(0,a);
f_domain.Value=name.Substring(a+1,name.Length-(a+1));
f_pass.Value=Request.QueryString["Psw"];
}
catch
{
Script.Alert("錯誤的郵箱!";
Server.Transfer("index.aspx";
}
loading...
2006-1-17
ASP.NET程式中常用的三十三種代碼一 [转]
1. 打開新的窗口並傳送參數:
傳送參數:
response.write("<script>window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"’)</script>"
接收參數:
string a = Request.QueryString("id";
string b = Request.QueryString("id1";
2.為按鈕添加對話方塊
Button1.Attributes.Add("onclick","return confirm(’確認?’)";
button.attributes.add("onclick","if(confirm(’are you sure...?’)){return true;}else{return false;}"
3.刪除表格選定記錄
int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex];
string deleteCmd = "DELETE from Employee where emp_id = " + intEmpID.ToString()
4.刪除表格記錄警告
private void DataGrid_ItemCreated(Object sender,DataGridItemEventArgs e)
{
switch(e.Item.ItemType)
{
case ListItemType.Item :
case ListItemType.AlternatingItem :
case ListItemType.EditItem:
TableCell myTableCell;
myTableCell = e.Item.Cells[14];
LinkButton myDeleteButton ;
myDeleteButton = (LinkButton)myTableCell.Controls[0];
myDeleteButton.Attributes.Add("onclick","return confirm(’您是否確定要刪除這條資訊’);";
break;
default:
break;
}
}
5.點擊表格行鏈結另一頁
private void grdCustomer_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//點擊表格打開
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
e.Item.Attributes.Add("onclick","window.open(’Default.aspx?id=" + e.Item.Cells[0].Text + "’);";
}
雙擊表格連接到另一頁
在itemDataBind事件中
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string OrderItemID =e.item.cells[1].Text;
...
e.item.Attributes.Add("ondblclick", "location.href=’../ShippedGrid.aspx?id=" + OrderItemID + "’";
}
雙擊表格打開新一頁
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string OrderItemID =e.item.cells[1].Text;
...
e.item.Attributes.Add("ondblclick",&n