Access 2003 & VS 2010 C#
このソフトウェアの更新は、Windows XP 用に構築されています
私の懸念はアップデート 7 にあります - ありがとう
ユーザーがパスディレクトリのコマンドパラメーターをリッチテキストボックスに挿入してデータベースに保存できるメソッドを作成しました。ユーザーがリンクをクリックできるハイパーリンクを作成したいと思います。リッチテキスト ボックスで、Windows エクスプローラーを外部で開き、ファイルの場所を特定します。私があなたに与えた説明でそれが何と呼ばれているのかわかりませんが、私が探しているものに最も近いのはhereとhere ですが、それが私が探しているものかどうかはよくわかりません? 誰かが私を助けることができれば、私は最も感謝しています。
これは私の btnOpen_Click メソッドです...
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.InitialDirectory = "C:\\";
openFileDialog1.Filter = "Word 97-2003 Document(*.doc)|*.doc|All files(*.*)|*.*";
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
openFileDialog1.FilterIndex = 0;
openFileDialog1.RestoreDirectory = true;
richTextBox1.Text = Path.GetDirectoryName(openFileDialog1.FileName);
}
try
{
string filePath;
filePath = Path.GetDirectoryName(openFileDialog1.FileName); //Path.GetDirectoryName(openFileDialog1.FileName) openFileDialog1.FileName
richTextBox1.Text = filePath;
}
catch (Exception ex)
{
MessageBox.Show("Error: : " + ex.Message);
}
これは私の挿入方法です...
private void btnInsert_Click(object sender, EventArgs e)
{
OleDbCommand cmd = new OleDbCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "INSERT INTO Table1 File) Values(@File)
cmd.Parameters.AddWithValue("@File", richTextBox1.Text);
cmd.Connection = myCon;
myCon.Open();
cmd.ExecuteNonQuery();
myCon.Close();
}
ファイルは、ディレクトリが保存される Access 2003 のデータ フィールドです。ところで、ファイル データ フィールドのデータ型はハイパーリンクです。
このWebサイトから2回目の更新を試みます。ここでは準拠していますが、Windowsエクスプローラーは開きません
private void richTextBox1_LinkClicked(object sender, LinkClickedEventArgs e)
{
string FilePath = @"C:\myFolder\myFolder";
System.Diagnostics.Process.Start("Explorer.exe", @"/select,""" + FilePath + "\"");
}
更新 3 3 回目の試み ここで私の試み: 目的は、パスをクリックすると、richtextbox で Windows エクスプローラーが開くはずですが、開かないことです。実際には何も起こっておらず、エラーもありません
insert コマンド パラメーターを使用して同じドライブを使用して、ファイルをさまざまなフォルダーに保存できることを指摘したいと思います。だから例えば..
C:\マイフォルダー\マイフォルダー1
C:\マイフォルダー\マイフォルダー2
private void richTextBox1_LinkClicked(object sender, LinkClickedEventArgs e)
{
string FilePath = @"C:\\myFolder\\myFolder";
System.Diagnostics.Process.Start("Explorer.exe", @"/select," + FilePath + e.LinkText);
// 1*
}
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
richTextBox1.LinkClicked += new System.Windows.Forms.LinkClickedEventHandler
(richTextBox1_LinkClicked);
}
// 1* - richTextBox1_LinkClicked コードを richTextBox1_TextChanged に配置すると、ナビゲーション ボタンを使用すると、Windows エクスプローラーが自動的に開きます。
パス ディレクトリが Access 2003 データベースに保存されているときに、richTextBox でパス ディレクトリを選択すると、リッチテキスト ボックスを使用して Windows エクスプローラーを開く方法を教えてください。
更新 4 このマイ ドキュメントを使用したくないナビゲーション ボタンを使用すると、このマイ ドキュメントが開きます。
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
string FilePath = @"C\\Windows";
System.Diagnostics.ProcessStartInfo exploreTest = new System.Diagnostics.ProcessStartInfo();
exploreTest.FileName = "Explorer.exe";
exploreTest.Arguments = FilePath;
System.Diagnostics.Process.Start(exploreTest);
}
private void richTextBox1_LinkClicked(object sender, LinkClickedEventArgs e, string path)
{
System.Diagnostics.Process.Start(e.LinkText);
}
更新 5
これで動作しますが、上記のように、ナビゲーション ボタンでパス ディレクトリが自動的に開きます。そうなってほしくない。リッチテキスト ボックスのリンクをクリックして、Windows エクスプローラーを開きます。私は自宅のコードを使用しており、ナビゲーションについて学習しています。richTextBox1_LinkClicked イベントは機能しません。
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
string FilePath = @"C:\MyFolder\myFolder";
System.Diagnostics.Process.Start("Explorer.exe", @"/select,""" + FilePath + "\"");
}
private void richTextBox1_LinkClicked(object sender, LinkClickedEventArgs e)
{
System.Diagnostics.Process.Start(e.LinkText);
}
Update 6 ナビゲーション ボタンの使用時に Windows エクスプローラーが開いていたのは、richTextBox1_TextChanged 内のコードの一部が原因です。そのコードを richTextBox1_MouseClick メソッドで使用すると、エクスプローラーが開きます。
更新 7 ホームと学習 Web サイトからナビゲーション ボタンを使用しています。デフォルトのウィンドウ エクスプローラー パス ディレクトリを開くためのリッチテキスト ボックスを作成しました。select query where id is などを使ってさらに拡張しようとしているのですが、Windows エクスプローラーを外部で開いたときに、テーブル ID に基づいて別のパス ディレクトリを開くことはできますか?
たとえば、Test.doc と Test.doc という 2 つのドキュメント ファイルがあります。
ID = 1 には、= myFolder\myFolder\Test.doc のようなパス ディレクトリがあります。
ID = 2 には、= myFolder\myFolder2\Test2.doc のようなパス ディレクトリがあります。
このようなことをすることは可能ですか..
private void richTextBox1_MouseClick(object sender, MouseEventArgs e)
{
OleDbCommand cmd = new OleDbCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = @"SELECT File FROM Table1 WHERE ID = @ID";
cmd.Parameters.AddWithValue("@ID", txtID.Text);
string FilePath = cmd.CommandText;
// FilePath = @"C:\\myFolder\myFolder";
System.Diagnostics.Process.Start("Explorer.exe", @"/select," + FilePath);
cmd.Connection = myCon;
myCon.Open();
cmd.ExecuteNonQuery();
myCon.Close();
}
前もって感謝します