网站建设资讯

NEWS

网站建设资讯

vb.net实现撤销的简单介绍

vb.net 操作word时,如果已经选中了一段文字,如何取消 选择,并将鼠标定位到文档的最后?

selection.start=activedocument.characters.count

公司主营业务:做网站、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出茄子河免费做网站回馈大家。

selection.end=activedocument.characters.count

VB.NET 中全部mark后如何取消

菜单栏编辑书签清除书签

或者 ctrl+k按完后,再按ctrl+L

vb.net 如何取消事件的委托?

可以在选定全部子节点前,发送一个变量给全部子节点(有个tag属性可以利用),告诉它们不应该执行某事件(if语句)。

委托是可用于调用其他对象方法的对象。它们有时被称为类型安全函数指针,因为它们与其他编程语言中所使用的函数指针相似。但不同于函数指针,Visual Basic .NET 委托是基于 System.Delegate 类的引用类型,它可以引用共享方法 —无需特定的类实例即可调用的方法和实例方法。

委托在调用过程和被调用过程需要媒介的情况下是很有用的。例如,您可能想让一个引发事件的对象能够在不同的环境下调用不同的事件处理程序。不幸的是,引发事件的对象无法提前知道处理特定事件的事件处理程序。Visual Basic .NET 通过在使用 AddHandler 语句时创建委托,可让您动态地将事件处理程序与事件关联。在运行时,委托将各种调用转发到相应的事件处理程序。

尽管可以创建自己的委托,但在大多数情况下,Visual Basic .NET 为您创建委托并提供具体信息。例如,Event 语句将名为 EventNameEventHandler 的委托类隐式定义为 Event 语句所在类的嵌套类,且其签字与该事件相同。AddressOf 语句则隐式创建委托的实例。例如,以下两行代码是等效的:

AddHandler Button1.Click, AddressOf Me.Button1_Click

' AddHandler 指向引发事件的对象,AddressOf则确定该事件对象所要调用的事件处理程序

'上述行为又可以称为 监 视

AddHandler Button1.Click, New EventHandler(AddressOf Button1_Click)。

vb.net datagridview 控件上编辑后保存

做过一个类似的C#的,以下是C#的代码供参考

private DataTable dbconn(string strSql) //creat a method for datatable model

{

string Con5 = string.Format(@"provider=Microsoft.ACE.oledb.12.0;Jet oledb:Database Password =Jabil123456;User ID =Admin;Data source ={0}\Ele.accdb",System.Windows.Forms.Application.StartupPath);

OleDbConnection conn = new OleDbConnection(Con5);

this.adapter = new OleDbDataAdapter(strSql, conn); //instantiation SqlDataAdapter object

DataTable dtSelect = new DataTable(); //instantiation DataTable object

int rnt = this.adapter.Fill(dtSelect); //Fill DataTable object

return dtSelect; //return DataTable object

}

private Boolean dbUpdate() //function dbUpdate

{

string strSql = "select * from [Materials]"; //statement SQL

DataTable dtUpdate = new DataTable(); //instantiation DataTable

dtUpdate = this.dbconn(strSql);

dtUpdate.Rows.Clear(); //Clear datatable

DataTable dtShow = new DataTable(); //instantiation DataTable

dtShow = (DataTable)this.dataGridView2.DataSource;

for (int i = 0; i dtShow.Rows.Count; i++)

{

dtUpdate.ImportRow(dtShow.Rows[i]);//use ImportRow method to paste the value of dtShow

}

try

{

OleDbCommandBuilder CommandBuiler; //statement SqlCommandBuilder variable

CommandBuiler = new OleDbCommandBuilder(this.adapter);

this.adapter.Update(dtUpdate); //update data

}

catch (Exception ex)

{

MessageBox.Show(ex.Message.ToString()); //pop-up prompt for unnormal situation

return false;

}

dtUpdate.AcceptChanges(); //change successful

return true;

}

private void dataGridView2_CellClick (object sender, DataGridViewCellEventArgs e)

{

i = e.RowIndex;//record current row index

}

public bool ExportcurrentData()

{

if (dataGridView2.Rows.Count == 0)

{

return false;

}

Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); //creat excel object

excel.Application.Workbooks.Add(true);

for (int i = 0; i dataGridView2.ColumnCount; i++) //creat field name

{

excel.Cells[1, i + 1] = dataGridView2.Columns[i].HeaderText;

}

for (int i = 0; i dataGridView2.RowCount; i++) //fill data

//row cycle

{

for (int j = 0; j dataGridView2.ColumnCount; j++)

//Column cycle

{

if (dataGridView2[j, i].ValueType == typeof(string))

{

excel.Cells[i + 2, j + 1] = "'" + dataGridView2.Rows[i].Cells[j].Value.ToString();

}

else

{

excel.Cells[i + 2, j + 1] = dataGridView2.Rows[i].Cells[j].Value.ToString();

}

}

}

excel.Visible = false;

excel.DisplayAlerts = false;

excel.AlertBeforeOverwriting = false;

excel.Save();

excel.Quit();

return true;

}

void Timer1Tick(object sender, EventArgs e)

{

this.Opacity += 0.2;

label1.Left += -2;

if (label1.Right=0)

{

label1.Left= this.Width;

}

}

private void exportDataToExcelToolStripMenuItem_Click(object sender, EventArgs e)

{

ExportcurrentData();

}

private void deleteDataDToolStripMenuItem_Click(object sender, EventArgs e)

{

dataGridView2.AllowUserToDeleteRows = true; //allow user to delete row

foreach (DataGridViewRow r in dataGridView2.SelectedRows)

{

if (MessageBox.Show("是否删除数据?", "系统消息", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.OK)

{

if (!r.IsNewRow)

{

dataGridView2.Rows.Remove(r);

ChangeData_Click(sender, e);

}

}

}

}

private void backBToolStripMenuItem_Click(object sender, EventArgs e)

{

Form2 form2 = new Form2();

this.Close();

form2.Show();

}

private void ChangeData_Click(object sender, EventArgs e)

{

if (MessageBox.Show("是否保存数据?", "系统消息", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.OK)

{

if (dbUpdate()) //judgement function dbUpdate execute to true or false, if true then.....

{

MessageBox.Show("修改成功!"); //pop-up prompt

dataGridView2.Update();

}

search_Click(sender, e); //re-load

}

}

vb.net让窗口关闭时,取消关闭,隐藏窗口

问题补充:我用VB.NET写的,FORM2用来实现数据采样并显示实时曲线,关闭后再'取消FORM2的关闭 这样就把FORM2隐藏起来了,需要调出来的时候只需以下代码

vb.net中如何取消事件委托

不能透过e来屏蔽不需要的事件?

死循环是怎么防止的?道理一样吧

可以在选定全部子节点前,发送一个变量给全部子节点(有个tag属性可以利用),告诉它们不应该执行某事件(if语句)。

没测试,不知道行不行。


本文标题:vb.net实现撤销的简单介绍
文章分享:http://cdweb.net/article/hpjoph.html