VB.NETについて質問です。
ListViewでドラッグ&ドロップするコーディングをしているのですが、
外からListViewへのドラッグ&ドロップ(データ取り込み)、ListViewから外へのドラッグ&ドロップ(データ出力)、ListView内でのドラッグ&ドロップ(アイテム並べ替え)を区別する方法を教えて下さい。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

質問を読んで思いついたレベルで書きます。



ドラッグの開始が自分のアプリか外部のアプリか、はMouseDownでフラグ立てるようにすれば分かります。
出力or移動の場合はおそらくMouseDownでDoDragDropを呼び出しているはずなので…。

ListViewのDragOver/DragDropでは、そのフラグで判断すれば外部からの取り込みか移動かの判断はつきます。
あるいは、ドラッグ開始時に独自のデータ型を含めることができれば、フラグなしでも判別できるでしょう。

問題は出力と移動の判別ですが、ドラッグの完了がコントロール内なら移動、コントロール外なら出力として判断する方法があります。
ただ、移動のドラッグ中はリアルタイムにリストを変動させる場合は厄介ですが・・・。

(思いついただけでコード検証はしていません)
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QViewのカラムの長さが不明?

はじめまして。Viewについての質問です。

とあるViewを作成し、Number型のカラムの長さを調べた所なにも表示されておらず、わからない状態になってしまいました。
元のTableのNumber型のカラムには(10,0)がセットされており同じTableを参照している別のViewには正しく(10,0)と表示されています。

カラムの長さが表示されないViewは分析関数、インラインビュー、UNIONなどを使用しているのでそれらが邪魔をしてカラムが取得できないようになってしまったのでしょうか?

こう言ったケースは初めてなので分かる方いらっしゃいましたら教えてください。

以上です。よろしくお願いします。

Aベストアンサー

NUMBER型のスケール(精度)については、不明になります。

例えば、SCOTT.EMPのEMPNOは、NUMBER(4)ですが、
CREATE VIEW V_EMP(EMPNO) AS SELECT EMPNO+0 FROM EMP;
としただけで、V_EMPのEMPNOは、桁数不明です。
(オラクルの属性追跡の限界なんでしょう)

Qドラッグ&ドロップについてです。(VB.NET)

フォーム上に「PictureBox」コントロールを置いた状態で実行し、その「PictureBox」にデスクトップ等からファイルやフォルダをドラッグ、ドロップしまして、そのファイルやフォルダのパス名を取得するにはどうすればいいですか?
そのプログラムのサンプルがあるサイトでもいいです。

Aベストアンサー

まず、プログラムで

PictureBox1.AllowDrop = True

して、PictureBoxにドロップを許可する
次に
DragEnterイベントで、FileDropタイプを受け入れられるかどうかを調べてEffect(copyで受け入れる)をセットする

Private Sub PictureBox1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox1.DragEnter
If (e.Data.GetDataPresent(DataFormats.FileDrop)) Then
e.Effect = DragDropEffects.Copy
Else
e.Effect = DragDropEffects.None
End If
End Sub

次に
DragDropで、パス名を取得する

Private Sub PictureBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox1.DragDrop
TextBox1.Text = CType(e.Data.GetData(DataFormats.FileDrop), String())(0)
PictureBox1.Image = System.Drawing.Image.FromFile(TextBox1.Text)

End Sub

ファイルのパス名を取得してテキストボックスに表示すると共に、ピクチャーボックスに描画している
CTypeでStringの配列で受けるのは、ファイルのドロップが複数ある場合があるため

まず、プログラムで

PictureBox1.AllowDrop = True

して、PictureBoxにドロップを許可する
次に
DragEnterイベントで、FileDropタイプを受け入れられるかどうかを調べてEffect(copyで受け入れる)をセットする

Private Sub PictureBox1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox1.DragEnter
If (e.Data.GetDataPresent(DataFormats.FileDrop)) Then
e.Effect = DragDropEffects.Copy
Else
...続きを読む

QThomas Nagel.The View from Nowhere,Oxford UP

Thomas Nagel.The View from Nowhere,Oxford UPの内容を知っている人はどんなものかさわりの部分だけでいいのでおしえてください。ちなみに、これを日本語訳するのはどのくらい大変ですか。(一般的に考えて)

Aベストアンサー

斜め読みしたことがあります。

内容は、
1.序論、2.心、3.心と身体、4.客観的自己、
5.知識、6.思考と実在、7.自由、8.価値、9.倫理、10.正しく生きることと善く生きること、11.誕生と死そして人生の意味

というふうに分かれていて、哲学者が取り上げるような問題を大体カバーしています。
しかし、過去の哲学者の思想を紹介するという本ではなく、著者自身の考えを述べた本です。
「人間が、主観的な視点から出発して、どのようにして客観的な視点から世界を見るようになって行くか」という問題を立てて、「人間にとって、主観性を克服することは大切だけれど、客観性にも限界がある」というような方向で議論を進めている本だと思います。

哲学の本にしては、英語は平易です。しかし、英語の哲学用語がたくさん出てくる(たとえば、skepticism(懐疑論)、realism(実在論)、autonomy(自律)など)ので、訳すのが大変かどうかは、哲学の用語を知っているかどうかにもよります。

Qカスタムコントロール作ってます(VB.NET)。VB.Net にVB.6のActiveX作成時にあったプロパティページ作成ができないようですが

タイトルどうりです。VBNETのカスタムコントロールでデザインモードにおけるフォームつまりプロパティページやビジュアルにプロパティボックスから設定できるようにしたいのですが、どうしたらできるでしょうか?VB6ではできたのですが、(Activexコントロール)。

よろしくお願いします。

Aベストアンサー

通常のプロパティと同じように、プロパティ ウィンドウに項目を表示して設定できるようにする必要があります。
具体的には、
1. カスタム コントロールのクラスに外部公開する Property プロシージャを作成して、内部で値を保存できるようにする。
2. そのプロパティの宣言部分で、プロパティ ウィンドウに表示するように指示する属性値を設定する。

こんな感じです。

参考URL:http://www.atmarkit.co.jp/fdotnet/winexp/winexp02/winexp02_01.html

Qknown its views and the w

NHKからの抜粋です


Suga said the government is using every opportunity to make known its views and the work it is doing.


日本語記事と比較したですが、意味が分かりません。

make viewは辞書を見ると
make a review of:~を再検討{さいけんとう}する

くらいしか無かったです。

”菅官房長官”が登場する文で、関連が高いと思われる文は以下です:


そのうえで、菅官房長官は、「政府としては関係各国とも協力しつつ邦人の早期解放に向けて最大限の努力を尽くす所存だ。

この中で菅官房長官は、イスラム過激派組織「イスラム国」のメンバーとみられる男が日本人2人を殺害すると話す映像が公開されたことに関連して、「邦人をすぐにでも解放するようにというメッセージが『イスラム国』に届くように、さまざまな手段を講じながら取り組んでいる。
第三国や部族の長、宗教団体の長など、ありとあらゆる可能性の中で全力で取り組んでいる」と述べました。


もしかして

「さまざまな手段を講じながら取り組んでいる」
=
"every opportunity to make known its views and the work it is doing."

なのでしょうか。

全文です

Suga calls for release of 2 hostages
Jan. 21, 2015 - Updated 05:53 UTC

Japan's Chief Cabinet Secretary says the government is making utmost efforts for the release of 2 Japanese apparently captured by the Islamic State militant group.

Yoshihide Suga spoke at a news conference on Wednesday.
He confirmed that the 2 men in the video released by the group are freelance journalist Kenji Goto and Haruna Yukawa.

He said it is highly likely the Islamic State group is the perpetrator of the hostage taking.
He said the group has yet to contact the government.
He declined to comment on the demand for ransom.

Suga said Japan has actively contributed to bringing peace to the Middle East and improving the lives of people there with humanitarian assistance.
He said that was the aim of Prime Minister Shinzo Abe's latest visit to the region.

Suga said the government is using every opportunity to make known its views and the work it is doing.
He cited Abe's talks with leaders in the region, social network sites and the websites of Japanese diplomatic missions.

He said Japan's engagement has never been aimed at killing Muslims, as the man in the video insisted.
He strongly demanded that the perpetrators immediately release the captives unharmed.

Suga said Japan's position on the issue has not changed.
He said the government will not succumb to terrorism, and that it will contribute to the international fight against terrorism.

Asked whether the video may be composed of separate clips, Suga said the government is closely analyzing the footage with the help of experts.
He declined to give details of the analysis.

NHKからの抜粋です


Suga said the government is using every opportunity to make known its views and the work it is doing.


日本語記事と比較したですが、意味が分かりません。

make viewは辞書を見ると
make a review of:~を再検討{さいけんとう}する

くらいしか無かったです。

”菅官房長官”が登場する文で、関連が高いと思われる文は以下です:


そのうえで、菅官房長官は、「政府としては関係各国とも協力しつつ邦人の早期解放に向けて最大限の努力を尽くす所存だ。

この中で菅官房長官は、イ...続きを読む

Aベストアンサー

やはり、make known ~で「~を知らせる、伝える」のような表現になっていると思っていいでしょうね。
リーダーズなど一部の辞書にはこれで出ていますし、
O の部分が短くても用いることができます。

それでも make O known というのがもとにあって、
その形で用いても普通です。

QVB.net(ASP.net)でアクセスカウンターを作りたい(.net初心者)

VB.NETのWebアプリケーションでアクセスカウンターを作りたいのですが、ページがアクセスされた時にDBの値を+1するまではできたのですが、ブラウザの更新ボタンを押したときにアクセスカウントを+1させたくないのですが、その技術がわかりません。(更新ボタンで+1させないようにCache("StartFlag") = "ON"して、対応している、がこれに問題がある)

今作っている処理は以下の通りです。
Private Sub Page_Load
 If Not IsPostBack Then
  カウンタを+1する処理
  (ただしCache("StartFlag") がONなら+1しない)
Cache("StartFlag") = "ON"
End If
End Sub
 
ですが Cache("StartFlag") が"ON"を保持したままになってしまうので、どこのPCからアクセスしてもカウンタが+1されません。
なにか良いアイデアはないでしょうか?
例えば
1)クライアントの情報を保持しておき、
  クライアントが変化したら+1する
(クライアントの情報の取得の仕方がわかりません)
2)Cache("StartFlag") をクライアント毎のセッション変数に変えて、セッションが切れて再びアクセスされたら+1する(やり方がわかりません)

その他、参考になりそうなURLも教えていただきたいのですが、お願いいたします。

VB.NETのWebアプリケーションでアクセスカウンターを作りたいのですが、ページがアクセスされた時にDBの値を+1するまではできたのですが、ブラウザの更新ボタンを押したときにアクセスカウントを+1させたくないのですが、その技術がわかりません。(更新ボタンで+1させないようにCache("StartFlag") = "ON"して、対応している、がこれに問題がある)

今作っている処理は以下の通りです。
Private Sub Page_Load
 If Not IsPostBack Then
  カウンタを+1する処理
  (ただしCache("StartFlag")...続きを読む

Aベストアンサー

2が妥当でしょう。

Cache("StartFlag") → Session("StartFlag")

Q好きな春の花

好きな春の花は何ですか?

お家で花を育ててらっしゃる方は
春はどんな花を咲かせてらっしゃいますか?

Aベストアンサー

ベランダでささやかに花を育てています。パンジーがにぎやかに咲いています。
ことしはミニ葉牡丹の寄せ植えがなかなか素敵です。
もうすぐスズラン水仙が咲きます。後アイビーゼラニュウムやゼラニュウム各種がさきます。
いろいろやってみましたが、手のかからないもので、23日留守をしても水やり
しないでもよい物、多肉植物やカランコエなどをを増やそうと思っています。
でも道端に咲くすみれ、おおいぬふぐりやナズナの花も捨てがたく可愛いですね。
散歩が楽しみです。

QVB6でのドラッグ&ドロップについてです

VB6でのことなんですが、リネームツールを作ろうと思って色々やってるのですが、うまくいきません。
フォルダをドラッグ&ドロップをして、
text1にフォルダの中のファイル名を表示して、text2にファイル名をコピーしてリネーム、というようなものを作りたいと考えています。

フォルダをドラッグ&ドロップして表示されるのが、そのフォルダのフルパスになってしまいます。
ドラッグ&ドロップしたフォルダの中のファイル名だけを表示する方法はどうすればいいのでしょうか?
よろしくお願いします。

Aベストアンサー

>フォルダをドラッグ&ドロップして表示されるのが、
>そのフォルダのフルパスになってしまいます。

ドラッグ&ドロップの機能としてはそれしか期待できないですし、
その情報があれば十分です。

一般的なコードはDirコマンドを使って次のようになります。

fname = Dir(pathname & "\*.*",vbNormal)
' ファイルが見つからなくなるまで繰り返す
Do While fname <> ""
fname = Dir()
Loop

ファイルシステムオブジェクトを使っても同じことができます。
マイクロソフトはファイルシステムオブジェクトを
推奨していたようですから、時間があったら研究してみましょう。

しばらくVBも触っていないのでミスがあればご容赦

Qvirtual の意味は?

この virtual という単語が理解できません。
辞書を調べると、”事実上の”と”仮の”とあります。
この2つの意味は反しているように思えるのです。
例えるならある単語に”大きい”と”小さい”の両方の意味を持つ感じです。

virtual reality 仮想現実
a virtual monopoly 事実上の独占

例えば上記の例で仮想と事実上の二つを取り替えてみると、
事実上の現実:言葉としてはおかしくないですが、仮想の世界は事実上の現実では
ないと思います。
仮想的な独占:実際に独占しているのだからおかしいと思います。

ただ、どの辞書を見てもこのような意味があることから何かしら自分がおかしい
判断をしているのだと思われます。
このvirtualの矛盾に対して納得することのできる説明をお願いします。

Aベストアンサー

事実上という意味の問題だと思いますが、

「本当はそうではないのだが、実態はそれに近いものがある。」という意味から、派生しているのだと思います。

バーチャルという日本語では、「空想の」とか「コンピューターでつくられた」というイメージばかりが強調されているため、原語の意味がわかりにくくなっているのではないでしょうか?

Existing or resulting in essence or effect though not in actual fact, form, or name: the virtual extinction of the buffalo.
Existing in the mind, especially as a product of the imagination. Used in literary criticism of a text.
Computer Science. Created, simulated, or carried on by means of a computer or computer network: virtual conversations in a chatroom.

参考URL:http://dictionary.reference.com/browse/virtual

事実上という意味の問題だと思いますが、

「本当はそうではないのだが、実態はそれに近いものがある。」という意味から、派生しているのだと思います。

バーチャルという日本語では、「空想の」とか「コンピューターでつくられた」というイメージばかりが強調されているため、原語の意味がわかりにくくなっているのではないでしょうか?

Existing or resulting in essence or effect though not in actual fact, form, or name: the virtual extinction of the buffalo.
Existing in the mind, especia...続きを読む

QVB.NET とドットNET(.NET)と違うのですか

Cをこれから勉強しようと思って、
「VISUL STUDIO 2005」という本を買って勉強中です
.NETというのが出てきて
VB、、C++、C##、J#を扱っているようです
そして
この、教えて、なんかで
よく出てくるのが、VB.NETで
.NETはあまりでてきません
そこで、この違いを知りたいのですが
よろしくお願いします

Aベストアンサー

ドットNET(.NET)というのはもっと広い概念です。
例えていうならスポーツという概念がドットNET(.NET)なら、VB.NETは巨人(C++が阪神で、C##がソフトバンクス...)というような関係になります。

.NETの概念をマイクロソフトの言葉で説明するならこちらのページの通りです。
http://www.microsoft.com/japan/net/basics/whatis.asp
噛み砕いて説明するなら.NETとは「製品」そのもののことを指す場合もありますし、「技術」のことでもあるし、「ガイドライン」や「指標」だったりもします。

つまりドットNETの話題が無いというのは、それ自体の概念が広すぎて話題にしようがないのです。
野球や巨人の問題で議論することはできても、スポーツについて語りましょうと言われてもとっかかりがありすぎて逆にないでしょ。

でVB.NETというのはそういった.NETの概念のもとで作られたプログラミング用のソフトのことで、C++.NETやJ#.NETと兄弟関係にあります。


人気Q&Aランキング

おすすめ情報