国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
C#中獲取文件路徑、DataGridView顯示行號(hào)
我現(xiàn)在添加了一個(gè)textbox控件,在添加了一個(gè)button,我希望完成的是當(dāng)點(diǎn)擊Button的時(shí)候就彈出對(duì)話框,選擇需要打開的文件,選擇文件確定后,該文件的路徑就復(fù)制到textbox中。
 
button的click事件里的代碼這樣寫就OK了
OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "打開";
ofd.Filter="所有文件|*.*";  這是設(shè)置擴(kuò)展名。
if (ofd.ShowDialog() == DialogResult.OK)
{
     TextBox1.text = ofd.FileName;
}
 
C#,怎樣得到本文件當(dāng)前所在路徑?
private void button1_Click(object sender, System.EventArgs e)
{
   string strPath = Application.StartupPath;
   textBox1.Text = strPath ;
}

生成后的exe文件在什么目錄,strPath就是那個(gè)目錄名
 
DataGridView顯示行號(hào)的幾種方法
 
 
文章錄入:7747.Net    責(zé)任編輯:7747.Net  194 
 【字體:小 大】
 
方法一:
網(wǎng)上最常見的做法是用DataGridView的RowPostPaint事件在RowHeaderCell中繪制行號(hào):
 
RowPostPaint
       private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)        {            try            {                //添加行號(hào)                 SolidBrush v_SolidBrush = new SolidBrush(dataGridView1.RowHeadersDefaultCellStyle.ForeColor);                int v_LineNo = 0;                v_LineNo = e.RowIndex + 1;                string v_Line = v_LineNo.ToString();                e.Graphics.DrawString(v_Line, e.InheritedRowStyle.Font, v_SolidBrush, e.RowBounds.Location.X + 15, e.RowBounds.Location.Y + 5);            }            catch (Exception ex)            {                MessageBox.Show("添加行號(hào)時(shí)發(fā)生錯(cuò)誤,錯(cuò)誤信息:" + ex.Message, "操作失敗");            }        }
 
 
但是這種方法在大數(shù)據(jù)量的時(shí)候性能比較差,每次滾動(dòng)數(shù)據(jù)都會(huì)觸發(fā)RowPostPaint事件。
 
 
方法二:
我的做法是給每行的HeaderCell賦值。
在網(wǎng)上發(fā)現(xiàn)有人提到這種做法,但是因?yàn)樽詈蟮娘@示問題而選擇了上面的方法。具體問題就是,在行號(hào)超過2位,如100、1000,在選中該行時(shí),DataGridView的行指示符?會(huì)把行號(hào)往右擠,導(dǎo)致現(xiàn)實(shí)不全,100的時(shí)候顯示? 10。
其實(shí)還是RowsHeaderWidth的大小有問題,將該列的寬度放大,行號(hào)顯示的也沒問題!
不知道他們有沒有試過,上面繪制行號(hào)的方法在大行號(hào)的情況下顯示也會(huì)有問題。
 
既然知道問題所在就要找到相應(yīng)的解決方法。
具體做法是將DataGridView的RowsHeaderWidthSizeMode屬性 設(shè)置為AutoSizeToAllHeaders或者AutoSizeToDisplayedHeaders,這樣自動(dòng)設(shè)置寬度就不會(huì)出現(xiàn)行指示符擠壓行號(hào)的情況了。
 
對(duì)于每次DataGridView的行變化,我們都去更新行號(hào),用RowsAdded和RowsRemoved事件。
代碼如下:
 
RowsAdded & RowsRemoved
        private void DataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)        {            for (int i = 0; i < e.RowCount; i++)            {                this.DataGridView1.Rows[e.RowIndex + i].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;                this.DataGridView1.Rows[e.RowIndex + i].HeaderCell.Value = (e.RowIndex + i + 1).ToString();            }            for (int i = e.RowIndex + e.RowCount; i < this.DataGridView1.Rows.Count; i++)            {                this.DataGridView1.Rows[i].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;                this.DataGridView1.Rows[i].HeaderCell.Value = (i + 1).ToString();            }        }        private void DataGridView1_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e)        {            for (int i = 0; i < e.RowCount; i++)            {                this.DataGridView1.Rows[e.RowIndex + i].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;                this.DataGridView1.Rows[e.RowIndex + i].HeaderCell.Value = (e.RowIndex + i + 1).ToString();            }            for (int i = e.RowIndex + e.RowCount; i < this.DataGridView1.Rows.Count; i++)            {                this.DataGridView1.Rows[i].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;                this.DataGridView1.Rows[i].HeaderCell.Value = (i + 1).ToString();            }        }
 
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
DataGridView添加行號(hào) - 懶人一個(gè)。。。 - 博客園
C# DataGridView顯示行號(hào)的三種方法
dataGridView分組
DataGridView之為每行前面添加序號(hào)
c# – 在編輯模式下更改datagridview單元格值
C#+SQL Server的數(shù)據(jù)庫管理系統(tǒng)常用的代碼
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服