VB.NET質問スレ (Part22)

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
前スレ

VB.NET質問スレ (Part21)
http://pc11.2ch.net/test/read.cgi/tech/1177299756/

テンプレは2〜10くらいまでの間にある予定
2デフォルトの名無しさん:2007/07/10(火) 12:24:43
MSDN
http://msdn2.microsoft.com/ja-jp/library/ms229284.aspx
どぼん!のVB道のトップページとTipsページ
http://dobon.net/vb/
http://dobon.net/vb/dotnet/index.html
Microsoftクイック スタート チュートリアル
http://ja.gotdotnet.com/quickstart/default.aspx
Insider.NET
http://www.atmarkit.co.jp/fdotnet/index.html
宇宙仮面の C# プログラミング
http://ukamen.hp.infoseek.co.jp/
.NET のつぼ
http://park16.wakwak.com/~mimi/dotnet/top.html
.NET TIPS
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
緑のバイク ★ 初めてのC# プログラム全般
http://homepage3.nifty.com/midori_no_bike/CS/
VB.NETとC#でデザインパターン
http://hccweb1.bai.ne.jp/tsune-1/
匣の向こう側
http://www.ne.jp/asahi/nami/mei/index.html
WisdomSoft
http://wisdom.sakura.ne.jp/
じゃんぬねっと
http://jeanne.wankuma.com/
どっとねっとふぁん - C# Tips And Samples -
http://homepage3.nifty.com/dotnetfan/index.html
C#プログラミングTips
http://www.atmarkit.co.jp/fdotnet/csharptips/index/csharptips_index.html
3デフォルトの名無しさん:2007/07/10(火) 12:25:25
CodeProject
http://www.codeproject.com/vb/net/
the GotDotNet Home Page
http://www.gotdotnet.com/
KEN's .NET
http://www5b.biglobe.ne.jp/~yone-ken/VBNET/index.html
Cetus Links: 19,498 Links on Objects and Components / .NET
http://www.cetus-links.org/oo_dotnet.html
HIRO's.NET
http://vbdotnet.fc2web.com/index.html
@IT:特集 .NET開発者のためのオンライン・リソース・ガイド
http://www.atmarkit.co.jp/fdotnet/special/onlineres/onlineres_01.html
.NETでいきまっしょい!
http://santamartadotnet.hp.infoseek.co.jp/
これがほしかった!厳選サンプルツール集
http://anetm.com/dev/tools/vbdotnet.htm
ぬーやんのdotNET講座
http://www.geocities.jp/nuu_yan/dotNET/index.html
PINVOKE.NET
http://www.pinvoke.net/
WinAPI Database for VB Programmer
http://www.geocities.co.jp/SiliconValley-Cupertino/5872/
4デフォルトの名無しさん:2007/07/10(火) 12:26:10
Windows Api programming in C# , VB.NET, and VB6. Examples of P/Invoke and DllImport with Source code
http://custom.programming-in.net/
CodeZine
http://codezine.jp/
ConvertCSharp2VB
http://www.kamalpatel.net/ConvertCSharp2VB.aspx
@IT:.NET Tools
http://www.atmarkit.co.jp/fdotnet/tools/index/index.html
SharpLibrary Redirector
http://www.sharplibrary.com/
MSDN アカデミック アライアンス 技術資料
http://www.microsoft.com/japan/msdn/academic/articles/
「300 秒でズバリ !!」&「10 行でズバリ !!」シリーズ
http://www.microsoft.com/japan/msdn/thisweek/wednesday/default.asp
PAPA'n VB
http://www.mitene.or.jp/~sugisita/index.html
VB レスキュー花ちゃん
http://www.bcap.co.jp/hanafusa/dotnet/index.html
(Java覚え書き)デザインパターンあれこれ
http://www.dmz.hitachi-sk.co.jp/Java/Tech/pattern/
algorithm
http://www.mnet.ne.jp/~tnomura/algorithm.html
ラムダ計算入門
http://www.kb.ecei.tohoku.ac.jp/~sumii/class/keisanki-software-kougaku-2005/lambda.pdf
数値計算の基礎
http://www7.ocn.ne.jp/~kawa1/numeric.pdf
5デフォルトの名無しさん:2007/07/10(火) 12:30:24
わんくま同盟ってウザくね?
http://pc11.2ch.net/test/read.cgi/tech/1182120520/
-OOP限定-プログラム設計相談室
http://pc11.2ch.net/test/read.cgi/tech/1127547359/
■(((Microsoft.NET総合スレッド)))■
http://pc11.2ch.net/test/read.cgi/tech/1124784480/
【VB.NET】VS2005 選ぶならどっち?【C♯】
http://pc11.2ch.net/test/read.cgi/tech/1106538237/
VisualBasic6.0 対 VisualBasic .NET 2003
http://pc11.2ch.net/test/read.cgi/tech/1116555483/
VB.NETのとんでもない欠陥に気づいた
http://pc11.2ch.net/test/read.cgi/tech/1147201705/
VB6 >>>>>>>>>> VB.NET
http://pc11.2ch.net/test/read.cgi/tech/1159388733/
VBプログラマ質問スレ(6.0以前) Part52
http://pc11.2ch.net/test/read.cgi/tech/1179563617/
6デフォルトの名無しさん:2007/07/10(火) 12:34:47
下らんネタスレまでリンク張る必要がどこにあるボケ。
そういうことはお前さんが自分で糞webページ立ち上げてそこで好きなだけやれよ。
7デフォルトの名無しさん:2007/07/10(火) 13:36:15
VB2005なんすけど、OpenReadで直接URL叩いて読み込んだテキストを
HtmlDocumentにする方法ってないっすか?
OpenReadで読み込んでテキストにする前にHtmlDocumentにする方法でもいいっす。
8デフォルトの名無しさん:2007/07/10(火) 15:52:59
>>1
まぁ乙

もすこしひねりのある一言追加がほしかったな
9デフォルトの名無しさん:2007/07/10(火) 16:06:17
#Regoin で囲んだ領域のすべてを同時に閉じる便利な方法が
あれば知りたく。

また、すべての関数プロシージャ、プロパティを同時に閉じたり
開いたりする方法もあれば、知りたいです。

もしご存知の方がおられましたら、すみませんが、教えてください。

10デフォルトの名無しさん:2007/07/10(火) 16:38:57
>>7
HtmlDocumentはNotInheritabledだから直接は作れないみたいね。
この辺を使ってみたらどうでしょう。
WebBrowser.DocumentText 
WebBrowser.DocumentStream
11デフォルトの名無しさん:2007/07/10(火) 16:58:19
WebBrowser使うんだったら普通に表示してからDocumentプロパティで取得すればいいじゃない
NotInheritabledだからインスタンス作れないってなにその理解
12デフォルトの名無しさん:2007/07/10(火) 19:19:46
>WebBrowser使うんだったら
WebBrowserに依存しないHTMLのパーサークラスってあったっけ?

XmlDocmentだったらnewしてLoadでTextReaderかStringを渡せばOKだから、
Htmlでもそれと同じように出来ないかという質問だと思うのだが。
13デフォルトの名無しさん:2007/07/10(火) 21:27:55
DataGridViewComboBoxColumn の使い方が分からない。

DataTableの値を、DataGridViewComboBoxColumnのDataSourceに設定すれば、
ValueMemberの値がDataPropertyNameで指定したフィールドに
入ってくれるんじゃないのか??

コンボボックスで選択する所までは、上手くいくのですが、
そこからフォーカスを移すと
「DataGridViewComboBoxCellの値が有効ではありません」と
エラーメッセージが出てしまう。

そもそもDataGridViewComboBoxCellなんて何時使われているんだろか。

誰か助けてください!
14デフォルトの名無しさん:2007/07/10(火) 21:35:00
使い方はそんなものだとおもうけど?

書き込み内容だけではよくわからんが
俺の記憶では DataGridViewComboBoxCellの値が有効ではありません
が出た時、データソースにない値を入れようとしたらこうなったけど・・・・
事例が違うし何とも言えないな
15ももんが:2007/07/10(火) 21:37:09
V系好きな人がよく使ってる"リア友"ってどーゆー意味なの?
16デフォルトの名無しさん:2007/07/10(火) 22:01:12
DataGridViewでデータテーブルをバインドさせているのですが
表示時のデータフォーマットの部分で詰まっています。

カラムAAAがあり型はStringです。
カラムBBBがあり型はStringです。

カラムAAAのデータはYYYYMMDDの形式で必ず8文字のデータがあります。
カラムBBBのデータはHHMMSSの形式で必ず6文字のデータがあります。

この両者をTextBoxColumnの列にデータをバインドさせて表示するときに
AAAはYYYY/MM/DD
BBBはHH:MM:SS
とフォーマットして表示したいのですが、CellStyleプロパティのDataFormatに
0000/00/00や####/##/##を設定してもフォーマットしてくれませんでした。
解決策はないでしょうか?

17デフォルトの名無しさん:2007/07/11(水) 00:28:46
WebBrowserでよみこんだHTMLページにイベント発生させるのってどうすればいいんでしょうか?

具体的には読み込んできたWebページの
1.テキストボックスに値を入力
2.チェックボックスをチェックする
3.送信ボタンをクリックする
4.リンクンをクリックする

vb 6.0 は document.all(0).value="1111"
とかdocument.all(0).click とかできたのが
.netでできなくて悩んでます
お助け願えませんでしょうか?
18デフォルトの名無しさん:2007/07/11(水) 00:58:02
>>9
単一 Region なら Ctrl + M M ... だった希ガス。
複数Regionはマクロ必要じゃないかな


VB6との相互運用を目的とし、 tlbimp で InterOp DLLを作成(sn使用, PIA扱い)。
.NET (2005)で実装に入ると、VB6 から読み込んだ当該DLLのインタフェースを
実装できない(;ω;)

* 特定のプロパティでだけ発生する(同じDLL内の他は問題なく実装できる)

* 問題を起こすプロパティは、VB6 では Bool 型の変哲のないソース

 Public Property Let A(flgFinish As Boolean) : isFinished = flgFinish : End Property
 Public Property Get A As Boolean : A = isFinished : End Property

* InterOp DLL を ildasm で見ても、おかしいところはみあたらず。

* プロパティはシステム上必須で、Implements しないと相互運用できない。
 でも、Implements しようと同じシグネチャでプロパティ書くと Implements できないと言われる。

何か原因に心当たりある人おります?(ここ確認せい、とかでも大変助かります...)
197:2007/07/11(水) 01:34:43
7っす。

今はWebBrowser1_DocumentCompletedでHtmlElementを取得してから
Tagでコレクションしてるっす。
TagNameコレクションだとInnerTextでタグのプロパティなんかを拾わなくてすむので
楽っすけど、読込に時間かかってます。
WebBrowserに依存しないHtmlを使えるクラスってやっぱないっすか?
20デフォルトの名無しさん:2007/07/11(水) 02:14:15
自前でパーサ書く
21デフォルトの名無しさん:2007/07/11(水) 04:06:03
>>18
キー操作とマクロですか、なるほど!!
ありがとうございました!!
22デフォルトの名無しさん:2007/07/11(水) 11:43:46
初歩的な質問かもしれませんが,教えて下さい.
スタート画面(frmStart)でボタン形式でメニューを表示し,いずれかのボタンを
選択すると,該当するフォームが表示されます.そのときにfrmStartでMe.Hide()
と記述し,スタート画面を非表示にします.(frmStartはスタートアップに設定されてます)

それを別フォームからスタート画面に戻るには(再表示するには)どうしたらいい
でしょうか?
新たなインスタンスを作るとそのプログラムは終わらないし,frmStart.Show()
はオブジェクト参照されてないし,どうしたらいいでしょうか?
23デフォルトの名無しさん:2007/07/11(水) 12:13:46
frmStartの参照を子フォームに渡しておくか、
子フォームの閉じるイベントで再表示するようにする
24デフォルトの名無しさん:2007/07/11(水) 15:35:25
CSVファイルのデータをDataSetに取得して、DBへ反映させたいと思っているのですが、
DataGridViewには値は正しく表示されるのですが、DBへ反映させる事が出来ません。
以下が、まとめたソースなんですが、どこらへんが駄目でしょうか?
エラー等は表示されず、DBの値にまったく変化無しな状態です。
=====
Dim cn1 As New System.Data.SqlClient.SqlConnection("Data Source=Server;Initial Catalog=hogeSQL;User ID=hogeID;Password=hogePass;")
Dim da1 As New System.Data.SqlClient.SqlDataAdapter("SELECT * FROM m_Table", cn1)

Dim cn2 As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=text;Data Source=" & System.IO.Path.GetDirectoryName("C:\test.csv") & "\;")
Dim da2 As New System.Data.OleDb.OleDbDataAdapter("SELECT * FROM C:\test.csv", cn2)

Dim ds As New DataSet
da2.Fill(ds, "ds_m_Table")

DataGridView1.EndEdit()
Dim cmdBuilder As New System.Data.SqlClient.SqlCommandBuilder(da1)

da1.Update(ds, "ds_m_Table")
DataGridView1.DataSource = ds.Tables("ds_m_Table")
=====
25デフォルトの名無しさん:2007/07/11(水) 16:03:21
csvから読み込んだものとデータベースの列名と型はちゃんと合ってるの?
2624:2007/07/11(水) 16:35:48
>>25
同じです。

上記のCSVは、同じDetaSetから出力されています。
DBもCSVもDataGridViewに同じフィールドで表示されます。
27デフォルトの名無しさん:2007/07/11(水) 18:12:37
追加状態にしとかないとだめよん
28デフォルトの名無しさん:2007/07/11(水) 20:25:31
・・・・・・おいおい
29デフォルトの名無しさん:2007/07/12(木) 00:03:17
VS2005 って、ほっっっっっっっっっっっんと落ちやすいな。
なんだこれ。

クリップボードにコピーしようとすると、現状が起きる。
こうなると、devenv.exeのプロセスが高負荷になって戻ってこない。

もう50回は落ちたよ。

誰か改善案など知っている方おりますか?

OS:WinXpSP2
VS2005 Ver8.0.50727.762(SP.050727-7600)
なお、クリップボードを操作するアプリは入れていません。
30デフォルトの名無しさん:2007/07/12(木) 00:13:38
>>29
俺はSP1にする前 頻繁に落ちてたけどSP1にした今は別に問題ないな
ついでにいうとメモリ少なくって仮想メモリガリガリ使いながらだと落ちやすいみたい

同じ無印2005でマシン変えたら全然落ちなかったし
31デフォルトの名無しさん:2007/07/12(木) 11:42:14
VB.NET 2005です
フォルダにアクセス権がるかどうかを調べる場合どうすればいいんでしょうか?

具体的には指定されたフォルダを再起ループで回してエクスプローラ風にツリーを作るのですが
チェックを行わないとSystemVolumeInfomationなどのシステム専用フォルダのアクセスでエラーが出ます。
エラーをキャッチしてスルーしてもいいのでしょうが、エラー発生のたびに遅くなるのと スマートでないため
フォルダの中を再帰的に回すときにアクセス権をチェックした後で再起処理をしたいのです。

ご存知の方はお教え願えませんか?
32デフォルトの名無しさん:2007/07/12(木) 12:49:44
>>29
なんで他のアプリの影響とか自分の環境を疑わないのか…
なんならWindowsにVS2005だけ入れて使ってみれば?
33デフォルトの名無しさん:2007/07/12(木) 13:03:17
>>32
PCは3台変えた。OSは全てWinxpSP2です。
内1台は新規インストール状態での利用。
(ただし、Office2003SP2は入っている。)

事の頻度は違うかも知れないが、それら全てで似たような状態ですが?

と言うか、例え環境の問題であったとしても、今の時代で、
どんだけ作りが悪いんだよ!
と思わなくも無いですが。
34デフォルトの名無しさん:2007/07/12(木) 14:36:28
コントロールの右クリックイベントの
e.Location をクライアント座標に変換することって簡単にできますか?
35デフォルトの名無しさん:2007/07/12(木) 15:22:21
>>34
Control.PointToScreen(e.location)
でいいんじゃ?
36デフォルトの名無しさん:2007/07/12(木) 15:25:51
MouseEventArgs.Locationのことなら
それ普通にクライアント座標だろ
37デフォルトの名無しさん:2007/07/12(木) 15:51:49
>>36
たぶんそうだと思ったんでスクリーンじゃないかとエスパったおれは負け組の予感
38デフォルトの名無しさん:2007/07/12(木) 17:18:22
2005のバックグラウンドワーカー使うときって
やっぱフォーム閉じたりするときに
IsBusy=trueでCancelAsyncメソッド使った後に
IsBusy=Falseになるまでループでスレッド終了まちしてから終了すべき?
39デフォルトの名無しさん:2007/07/12(木) 18:32:32
>>33
もう半年ほど毎日仕事で使ってるが、
落ちるなんてことあったのはたぶん1度あったかどうかぐらいだぞ。

ただ、参考になるかどうか分からないけど
Winアプリでコードに問題のある自作コントロールを貼り付けたフォームを
デザイナで開くと落ちる場合があることは経験した。

環境のせいでないとしたら、こういう自分のコードに問題がある可能性も
一応疑った方がいいと思うよ。

もちろんバグがあるからって落ちる開発環境ってどうなの?
なんだけどさ。
40デフォルトの名無しさん:2007/07/12(木) 20:01:54
ContextMenuをShowメソッドで表示した後の、メニューのサイズを取得する方法ってないでしょうか?
41デフォルトの名無しさん:2007/07/12(木) 21:41:57
OpenedのあとBounds
42デフォルトの名無しさん:2007/07/13(金) 00:39:58
>>39
>環境のせいでないとしたら、こういう自分のコードに問題がある可能性も
>一応疑った方がいいと思うよ。

これはIDEとして失格では・・・
俺もSP1にする前はデバッグするたびにかなりの頻度で落ちてたよ。
セットアップ失敗してるのかと思ってインストールしなおしても変わらなかった。
SP1後は一回も落ちなくなったけど。
43デフォルトの名無しさん:2007/07/13(金) 01:20:06
失格もなにもある物使うしかないだろ。
VS擁護する気はないがどんなソフトもバグぐらいある。

そんなことより、たまたまバグに遭遇しただけで「ソフトの作りが悪い」とか
全体を批判する性格のが悪い。

人間にも同じような事言ってるの?
44デフォルトの名無しさん:2007/07/13(金) 08:46:34
>>43
まぁ確かにそうだけどこれだけ頻繁に落ちればデバッグ不足だ絽
45デフォルトの名無しさん:2007/07/13(金) 09:49:42
>>43
>人間にも同じような事言ってるの?
例えば「しょっちゅうサボる派遣は、技術力があっても使い物にならない」、くらいは
言うんじゃね?普通。
46デフォルトの名無しさん:2007/07/13(金) 12:54:36
折れの環境では「CheckedListBox」に対して、
コードを書いていると落ちたりする。

コピったり、ツールバーのボタンからコメントアウトしたり、
インテリセンスをだしたり。
47デフォルトの名無しさん:2007/07/13(金) 13:56:47

社会保険庁の解体については、基本がそもそも間違ってる。
そもそも、年金をまかなうのに、保険料として徴収しようとするから、特別に省庁をおくかという
話に摩り替わる。 つまり税金として徴収してしまえば、

    1. 不払いなどという問題もそもそもあり得ない。
    2. 「特別会計というインチキ財布の肥やし」 にされる心配が全然ない。
       つまり、2年で2億などという法外な天下り役人の泥棒が封じられる。これ大きい!
    3. 徴収機関 が、税務署になるから、徴収コストは基本的にゼロ。
    4. しかも、税務署なら、銀行と比較しても同レベルに信頼性が高い。

       (社会保険庁がなぜ当たり前の経理も窓口も成り立たないのか全く不明、
        郵便局で肩替わりしても全く問題ない程度の仕事のはず)

    5. 支給のための仕事だけならば、住民票のある地方自治体を通じて行えば
       これもコストはほとんどゼロ。いったん登録すれば自動的に振り込まれる。
    6. こうすれば、余分な厚生施設を勝手に作られたり、無用なものに勝手に
       流用されて目減りすることもありえないし、天下り先などにもなりえない

これだけのメリットは計り知れないほどのものだ、なのになぜ税方式にしないか?

それは、
     基本的に 「社会保険庁という役所を残す、形を変えてでも」 
ということにあり、
     その意味は、「結託している公務員利益を形だけ変えてでも優先したい」

というもの、、つまり自民党政権側の意図は要するに、、

     裏では、天下り先を確保できるように官僚役人と結託しており、
     国家利益を限りなく泥棒して国民の権利と利益をむさぼり取ろうぜ

というのが実態。
48デフォルトの名無しさん:2007/07/13(金) 16:09:40
>>45
それ例え方まちがってね?
たまたま今回自分だけに起こった不都合な部分だけを取り上げて
そいつを全否定するってことを言いたいんだろ。
49デフォルトの名無しさん:2007/07/13(金) 17:22:17
>>48
水掛け論だよね。

「操作中に強制終了する奴は使い方が悪い使用者が問題。」
「操作中に強制終了するのはソフトをつくった人がわるい。」

両方とも立派な暴言だけど、立場を違えれば理解は出来る。
少なくとも開発者なら一つ目の発言は致命的だと思うけど。
50デフォルトの名無しさん:2007/07/13(金) 17:48:07
いつまで経っても安定しないのはMSのお家芸だからな。
だからっつって切り捨てるわけにもいかず、騙し騙し使うしかなかったり。
51デフォルトの名無しさん:2007/07/13(金) 18:25:00
VSは比較的まとも
52デフォルトの名無しさん:2007/07/13(金) 18:30:02
>>49
どうでもいいけど使用者が悪いとか誰もいってないでしょ。

ただ特殊な状況でしか発生しないと思われる問題を一般的に起こりうる問題と勘違いして
騒ぐのは馬鹿みたいだよ、って話じゃないの?

>>50
だから被害妄想強すぎるんだよw

俺なんかむしろVSのIDEはあれだけ複雑なアプリケーションの割には不具合少ないな、とか思っちゃうけど。
もちろんこれはプログラマ目線の話であって、一般ユーザーがプログラム一般について
このように認識すべき、なんて言うつもりはない。
53デフォルトの名無しさん:2007/07/13(金) 18:44:51
>>52
VSのSP1以前については特殊な状況と言えるのかい?
MSは特殊な状況下での使用法をSP1で改善してくれたことになるのか?
54デフォルトの名無しさん:2007/07/13(金) 18:50:49
だから被害妄想強すぎるんだよ
一度言われたら理解しろよw

特殊な状況 = >>33の状況

いや俺のところでも>>33と同じ状況だぞ、って奴がいたら挙手してね
55デフォルトの名無しさん:2007/07/13(金) 19:00:34
再現性があるかどうかだろ
56デフォルトの名無しさん:2007/07/13(金) 22:54:15
もういいんじゃないか?
なんか >52 みたいに、わけのわからん方向に行ってるし…

>>53
お前は黙ってろw

5756:2007/07/13(金) 22:55:18
アンカーミスごめ。

誤 なんか >52 みたいに、わけのわからん方向に行ってるし…
正 なんか >53 みたいに、わけのわからん方向に行ってるし…
58デフォルトの名無しさん:2007/07/13(金) 23:01:03
この程度のことで短気な人
59デフォルトの名無しさん:2007/07/13(金) 23:10:37
みんなOfficeと同じような感覚で使ってるんだから仕方がないよ
60デフォルトの名無しさん:2007/07/14(土) 00:13:58
>>33
うちの環境じゃ落ちないよなあ。めちゃ安定。
DellだとかHPの業務用に売られているマシンでしか使ってないから
他の環境のことはわかんないや。

Visual Basic 4の頃に、環境がたまに落ちていたのが、マウス付属の
ユーティリティドライバを外したら治った経験はあります。

なににせよ、プログラミングが安心して出来ないのは辛いでしょうね。
その3台に共通の部分を抽出できたら原因の特定も出来るのでは
ないかと思いますよ。

61デフォルトの名無しさん:2007/07/14(土) 10:19:49

みなさん教えて下さい、これまで使えてきてた部分が突然例外メッセージが出て止まる
ようになったのですが、

そこは単に初期化のところで、

#Region " 初期化 "
Public Sub New()

' この呼び出しは、Windows フォーム デザイナで必要です。
Me.InitializeComponent()               <----------------------[*1] 

' InitializeComponent() 呼び出しの後で初期化を追加します。
InitializeSettings()
End Sub
#End Region

ここの [*1] において、突然、次の例外メッセージが出てしまうようになりました。

「指定されたアセンブリ名またはコードベースは無効です。 (HRESULT からの例外: 0x80131047)」

[*1]は、単にPartial記述されたFormのコントロール配置の部分なのですが、
こういう基本的な部分が自分のクラス内からこのようなメッセージ内容で
呼び出せなくなるようなことはあるものでしょうか、すみませんがよろしければ
ご指導お願いしたく。

ここはこれまで普通につかえてきていた部分で、全く意外なところなのですが、
これまでのWindows2000の環境から、別のPCに移りまして、そこですぐにWindowsXp
のオンライン更新が掛かったようでしたが、その2日後ぐらいで初めて出るように
なりました。自分自身のクラス内の Me.InitializeComponent() が呼び出せない
といったようなことはあるものなのでしょうか?よろしくです。
6261:2007/07/14(土) 10:23:51
この例外ですが、PCを再起動した後で直ることもあれば、直らないこともありました。
電源を完全に落としてからやると直ることが多いようでした。

こうしたことはあり得るものでしょうか・・・???
63デフォルトの名無しさん:2007/07/14(土) 13:02:32
>>61
Form1.Designer.vbのInitializeComponent()の属性をコメントにしてみると
InitializeComponentのどこで落ちてるかはっきりする。
この属性があるとこの中のどこで落ちても
InitializeComponent()の呼び出しに失敗したように見える。

'<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
64デフォルトの名無しさん:2007/07/14(土) 15:34:24
>>63

ありがとうございます!!助かります!!
すぐに調べてみます!!
65デフォルトの名無しさん:2007/07/14(土) 23:38:09
VB.NETでEXCELとかいじくれるようにOpenOfficeとかいじれないのかな?
6665:2007/07/15(日) 00:56:47
自己解決しました。
67デフォルトの名無しさん:2007/07/15(日) 01:03:58
>>66
してねええええええええええええええええええええええええええ!!!!!!
勝手に解決すな!
6866:2007/07/15(日) 01:39:21
イベントを監視するイベントってない?

具体的にはBindingNavigaterでDataTableに行を追加した直後に発生する
イベントを知りたいんだけど。
currentitemchangedもcurrentchangedもaddingも行を追加する直前みたい。
69デフォルトの名無しさん:2007/07/15(日) 01:49:06
>>68
そこで継承ですよ。
継承してイベント発生直前に自前のイベントを投げると。
70デフォルトの名無しさん:2007/07/15(日) 02:05:41
むしろデータテーブルのイベントハンドラをフックすればそれでいいんじゃね?
順序にもよるが データテーブルで発生したイベントの後でナビゲータ側でイベント発生してるはずだし
7169:2007/07/15(日) 02:08:24
>>70
お前とはまったく気が合わない><;
フックする前にもうちょっと自前でなんとかできないか考えるのが俺流!
7270:2007/07/15(日) 02:12:50
フックつうか言い方が悪かったか
イベントハンドラに関数追加するだけだと思うが・・・・
継承とかのが大げさだと思うけど
7368:2007/07/15(日) 02:21:28
ホントは66じゃない私のために喧嘩はやめて! ><;
74デフォルトの名無しさん:2007/07/15(日) 02:24:59
意味のないコテうぜぇwwwwwwww
7569:2007/07/15(日) 02:28:31
>>72
あ、そうなんだ。
フックなんていうから、Windows メッセージを拾うのかと思ってた。

この会話を>>68が理解できればいいのだが・・・。
76デフォルトの名無しさん:2007/07/15(日) 02:42:45
>>75
どうなんだろうね

つうかDataGridViewとかで表示してるならDataGridViewのRowsAddedイベントがあったような気がするんだけどなぁ・・・・
7768:2007/07/15(日) 03:24:15
具体的にやりたいのはForm上にDataTableにバインドされたコンボボックスがあり、
BindingNavigatorの新規追加ボタンを押すとSelectedIndexが-1に初期化されます。
これを直前のインデックスを保持させるか、変数に取っておいたものを再設定したいです。

DataGridViewのRowsAddedも試してみましたがタイミングは追加された行の制御を渡す前に
発生しているようで、しっかり初期化されちゃった。 ><

例えば>72さんの方法だと、TableNewRowイベントハンドラに自作関数を追加するという
ことですか?
78デフォルトの名無しさん:2007/07/15(日) 03:28:15
>>77
それだったら新規追加ボタンのクリックイベントでSelectedIndexいじればいいんじゃないのかと・・・・?

>>72
イベント名は忘れたけど まぁそういうことかな
まぁ簡単にできるんであればそんなことする必要もないんだけど
7968:2007/07/15(日) 03:40:10
>>78
新規追加ボタンに書いても、それがダメなんです。 ><
consoleにも書き出して確認したんだけど、新規追加ボタンのクリックイベント時点では
Me.ComboBox.SelectedIndexがまだ前の値なんで、イベント終了すると初期化されちゃう。
なんで?新規追加したときはcurrentがインスタンスじゃないから?

それで、制御もらってから発生するイベントがないかなとおもったんです。

80デフォルトの名無しさん:2007/07/15(日) 03:48:30
くそ
8168:2007/07/15(日) 17:08:31
だめだー、ComboBoxのMouseClickイベントでも受付ないよー 

Form_LoadだとSelectedIndex設定できるのになんでだじょ?
だれかヘルプミー (´;ω;)
8268:2007/07/15(日) 17:18:54
ごめんなさい、MouseClickイベントだと受け付けました。
83デフォルトの名無しさん:2007/07/15(日) 17:28:18
Function
 共通処理(変数宣言)
 Try
  メソッド特有処理(メソッドによって異なる処理)
 Catch ex As Exception
  共通処理2(ロールバック)
 Finally
  共通処理3(戻り値の設定やログ書き出し)
 End Try
End Function

このようなメソッドがいくつもある状態なのですが、
共通処理の部分をまとめて部品化させたいと思っています。

あたらしく、どんな処理をさせればいいかの文字列を受け取って、
TryCatchを組み、文字列によって、Try内の処理をSwitchで分けるようにしてみたのですが・・・
もっとスマートに組む方法はないでしょうか?
84デフォルトの名無しさん:2007/07/15(日) 17:39:25
>>83
ポリモフィズム
85デフォルトの名無しさん:2007/07/15(日) 17:58:55
>>84
オーバーロードでしょうか?
メソッドが計20種類あり、それぞれ引数がString型2〜4つになっており
その中には同じ引数のものも存在するので、自動的な分岐ができないんです。
86デフォルトの名無しさん:2007/07/15(日) 18:23:35
>>83
決まり文句 「例外処理を分岐に使うな」
でもその前にExecute("計算")はアホ設計の典型
87デフォルトの名無しさん:2007/07/15(日) 18:36:23
>でもその前にExecute("計算")はアホ設計の典型
唐突ないいがかり、あるいは思い込みによる罵倒。
88デフォルトの名無しさん:2007/07/15(日) 18:41:13
Try前に変数宣言(どのメソッドでも行う)
Try内でメイン処理
Catchではメイン処理でエラーが発生した際のデータ復元(どのメソッドでも行う)
Finallyで処理内容を書き出し(どのメソッドでも行う)

このような処理をしているのですが、これも例外処理で分岐させていることになるのですか?
だとしたらどのように記述するのがベターなんでしょうか?

あとExecute("計算")がダサイのは自分でも把握しています(;´Д`)
より良い方法があればご教授お願い致します。

同じようなTryCatchを毎回それぞれのメソッドに記述しており
「Finally区で処理をひとつ増やしたい」などの時に、メソッド全てを書き直す必要があり大変なので
メソッドごとに違うメイン処理以外を部品化させたいというのが要望です。

制約として、引数が同じでオーバーロードによる自動分岐ができませんorz
8986:2007/07/15(日) 18:51:44
すまん例外の使い方の意図を勘違いしてた
>>84の言ってるようにポリモルフィズムを使えば?
すべての「特有処理」を表すインターフェイスを定義して、
それぞれの特有処理クラスはそれを実装する
9083:2007/07/15(日) 19:35:22
>>84 >>89
ありがとうございます。少し前進しました。
もう少し質問をさせてください(長文すみません)

↓インターフェース
Public Interface hoge
Function 特有処理()
End Interface

↓特有処理を行うクラス(特有処理の数だけ作成)
Implements hoge
Public Sub 特有処理() Implements hoge.特有処理
 特有処理を行う
End Sub

↓メインクラス内の処理
Function(ByVal huge As hoge)
 共通処理
 Try
  huge.特有処理()
 Catch ex As Exception
  共通処理
 Finally
  共通処理
 End Try
End Function

特有処理の種類によって引数が同じだったり違ったりする為、インターフェースを実装できないものがあります
Nothingあたりで無理矢理に引数の数を同じにしてでも実装するべきでしょうか・・・・?
それと、それぞれの特有処理クラスが処理を行っている最中にエラーが発生した場合、
そのエラーをメインクラスがCatchできるようにするにはどうすればよいのでしょうか?
91デフォルトの名無しさん:2007/07/15(日) 19:50:05
>>88
なんとなく多態ポリモーフィズムよりデリゲートを引数に渡して動作を
切り替えるやり方の方が向いてる雰囲気だね.
92デフォルトの名無しさん:2007/07/15(日) 19:53:10
>>90
割り込んで悪いけどインターフェイスを使うって話はヨタだと俺は思うよ。
この場合は、

Function Hoge()
 Initialize()
 Try
  DoSomething()
 Catch ex As Exception
  Rollback()
 Finally
   Cleanup()
 End Try
End Function

のHoge()、DoSomething()(これはMustOverrideにする)、Rollback()、Cleanup()をもつ
MustInheritなクラスを作った方がいい。
93デフォルトの名無しさん:2007/07/15(日) 19:57:01
> それと、それぞれの特有処理クラスが処理を行っている最中にエラーが発生した場合、
> そのエラーをメインクラスがCatchできるようにするにはどうすればよいのでしょうか?
特有処理クラスの中でCatchしなければおk

>>92
それなら特有処理インターフェイスのメンバにRollback()とCleanup()を定義したほうがいいと思うよ
共通処理をばらばらにやってたら結局同じ
94デフォルトの名無しさん:2007/07/15(日) 20:25:44
Sub aaa()

Dim a(10) As Integer
Dim i As Integer

a(0) = 32
a(1) = 14
a(2) = 56
a(3) = 15
a(4) = 7
a(5) = 18
a(6) = 102
a(7) = 88
a(8) = 11
a(9) = 57
a(10) = 58
'-------------------
'この間で
'-------------------
For i = 0 To 10
Debug.Print a(i)
Next

End Sub

超初心者質問ですみません。
上のようにa(10)にランダムの数字が格納されていて
これを昇順(若い順)に格納しなおしてから
表示するようなプログラムを作りたいの
ですがどのようなやり方があるでしょうか。。
95デフォルトの名無しさん:2007/07/15(日) 20:35:18
List(of Integer)
自分でソートの順序も最悪決定できるし
96デフォルトの名無しさん:2007/07/15(日) 20:40:30
>>94
おまえすごいなw

ttp://pc11.2ch.net/test/read.cgi/tech/1099112351/590
ttp://pc11.2ch.net/test/read.cgi/tech/1165574205/487

素晴らしいwwwwww
別に叩く気はないが
プログラム覚える前にネットの人との付き合い方の常識勉強しろよ
97デフォルトの名無しさん:2007/07/15(日) 20:48:36
>>93
おいおい継承すら理解してない人間がポリモーフィスムがどうこう言ってたのかよ
98デフォルトの名無しさん:2007/07/15(日) 20:50:41
つうか、例外を発生した時の基本的な動作判ってないようなやつがPG組むなよ
思いっきりスタックトレースとかメモリ情報集めてパフォーマンス落ちるじゃないか

パフォーマンスが問題ないとしても 使われざる所に使ってるのは最悪だな
見分けをつけなきゃいけないじゃないか

エラーが起きるか起きないかで判定するならBoolの関数でも作れよカス
9988:2007/07/15(日) 21:13:41
>>91
デリゲートを始めて使ってみたのですが、
引数の数が固定されるのでインターフェースと同じように無駄引数を準備する必要が、orz
何か使い方が間違っているのでしょうか?

Delegate Sub MyDlg(ByVal x1 As String, ByVal x2 As String)

Dim hoge As New 特有処理(3).特有処理
Dim Dlg As MyDlg

Dlg = AddressOf hoge
Dlg.Invoke("test","test")


>>92
確認も含めて質問させてください。

共通処理の部分(部品化したい部分)をスーパー抽象クラス(?)にして、
特有処理の部分をオーバーライドで変化させる形ですよね?

間違っていたら恥ずかしいのですが、オーバーライドの存在を忘れていました。
確かにこうすれば、引数が同じものと違うものが混ざっていても、確実に処理を分けられますね。
ありがとうございました。

>>93
メソッドの返り値をエクセプション型にして返そうとしてたのですが、
Catchを組まないだけでメインの方に飛ぶんですね。
勉強になりました。ありがとうございます。
100デフォルトの名無しさん:2007/07/15(日) 21:36:35
最初のコードでよかった件
101デフォルトの名無しさん:2007/07/15(日) 21:37:59
>>99
ああDoSomething()がとる引数は可変なんだね。
その場合は、
Public Sub Hoge(ByVal myDelegate As [Delegate], ByVal ParamArray params As Object())
  Try
    myDelegate.DynamicInvoke(params)
  Catch ex As Exception
    ............

みたいにすればいいんじゃない?(ご免、実際こういう処理はやったことがないので
あんまり自信がない)

後半の継承の話についてはおっしゃるとおり。
処理によって必要な引数が変わるならやっぱり継承をつかった多態は向いてないかもね。
10288:2007/07/15(日) 22:22:06
>>101
そのような方法もあるんですね。
ソースを参考にさせていただき、DynamicInvokeの方も勉強したいと思います。
一応現段階では↓のような形になって、部品化も成功したと思います。
(もし何かおかしなコードがあれば、ご指摘をお願いします)

↓共通処理クラス
Public MustInherit Class hoge
 Try
  Me.Load()
 Catch ex As Exception
 Finally
 End Try

Public MustOverride Function Load()

Public Function 特有処理() End Function ※引数の種類だけ特有処理を記述
Public Function 特有処理(ByVal str As String) End Function
Public Function 特有処理(ByVal str As String, ByVal i As integer) End Function

↓特有処理クラス
Public Class 特有処理(1)
 Inherits hoge
 Public Overrides Function Load()
  特有処理( "TEST" )
 End Function

 Public Shadows Function 特有処理(ByVal Tag As String)
 特有の処理を行う
 End Function
End Class
103デフォルトの名無しさん:2007/07/15(日) 23:40:07
>>102
ごめんそのコードじゃ何をしたいのか誰にも理解できないと思うわ。

普通に考えれば、"特有処理"なんてメソッドをベースクラスに定義する
必要な何もないんだけど。

その"特有処理()"に書く処理を、各子クラスのオーバーライドしたLoad()
の中に直接書けば済む話だと思うけど。
104デフォルトの名無しさん:2007/07/16(月) 10:37:35
>>103
うん確かに>>102ならインターフェイスかデリゲートでまったく問題ない
105デフォルトの名無しさん:2007/07/16(月) 10:42:23
だからインターフェイスという選択肢はこの場合は普通ありえないって。
>>92のコードでいう

Initialize()
Rollback()
Cleanup()

これらのメソッドは共有したいのだから。
106デフォルトの名無しさん:2007/07/16(月) 10:46:40
別ににそれは特有処理クラスの中に定義する必要ないでしょ
外の枠組みを共通化したいんだから外でやればいいこと
>>92のDoSomethingの中で任意のタイミングでInitializeとか
呼びたいっていうなら別だけど
107デフォルトの名無しさん:2007/07/16(月) 10:53:56
何がいいたいのかよく分からないが、
まあ、OOPのこんな基本もわかってないなら無理しなさんな。

これはプログラマによって意見が分かれるような問題じゃないと思うよ。
(まともな)プログラマなら100人中100人がこういう場合にインターフェイスを
使おうなんてナンセンスだ、と言うだろう。

ようするにただ君がインターフェイスの意義や継承がよくわかってないだけ。
108デフォルトの名無しさん:2007/07/16(月) 12:46:00
>>103に同意
10988:2007/07/16(月) 16:14:21
なんか荒してすみません。結局こんなコードになりました↓

Public Interface hoge
Sub Syori()
End Interface

Public MustInherit Class huge
 Implements hoge
 フィールド宣言   ←特有処理で使われる引数の種類分だけフィールドを作成
 Sub Syori() Implements hoge.Syori
 Try
  Me.MainSyori()    ←ここのTry句以外に、共通に使用するコードを記述
 Catch ex As Exception
 End Try
 Public MustOverride Function MainSyori()
End Class

Public Class 特有処理(1) ←特有処理の種類だけクラスを生成
 Inherits huge
 Public Sub Set引数(ByVal Test As String) ←その特有処理に必要な引数のみを受け取りSETする
  フィールドに値をセット
 End Function
 Public Overrides Function MainSyori()
  特有処理(1)を行う
 End Function
End Class
11088:2007/07/16(月) 16:34:51
長すぎを食らったので連投で失礼します。毎回長文ですみません。

フィールド宣言を派生クラスの方にしようか、抽象クラスにしようか迷ったんですが、
結局、派生クラスの数が多く記述するのが大変だったので、
使わないフィールドができることになりますが、抽象クラスに記述しました…、やっぱり派生クラスのほうが良いでしょうか?

それともうひとつ気になるのが、抽象クラスのSyoriメソッド内の共通に使いたいコード内で、
「実際に派生クラスを使うメインクラス内のフィールド」を使いたいのですが、
派生クラスとメインクラスを継承関係にすることはできないので、
毎回Syoriメソッドにポインタ型で渡しています。
すごく違和感を感じるのですが、何かより良い方法はないでしょうか?

それと最後にもうひとつだけ・・・
抽象クラス内では例外処理を利用した共通のコードが記述されているので、
例外処理を省くことができないのですが、この場合だとメインクラスや実際のプログラムなどで
エラーを受け取れないので、Catch内にThrow New Exception(ex.Message, ex)を記述してみたのですが、

これを書くと、エラーが起こったときにちゃんとメインの方にもエラーが飛んでくる代わりに、
Finally句でプログラムがダウンしてしまいます。何かよい方法があればアドバイスをお願いします。
111デフォルトの名無しさん:2007/07/16(月) 16:36:03
>>109
な・・・なんかなぁ・・・・・
まぁ動いてるならいいんじゃなかろうか・・・・
112デフォルトの名無しさん:2007/07/16(月) 18:17:51
>>109-110
やっぱり無理に継承使うべき場面じゃないよ。
例外処理のパターンが共通してるからこれを共用したい、と思うのは無理もないけど
そのために無理に継承つかって、その結果処理につかう引数をフィールド渡しにするんじゃ
本末転倒でしょ。

愚直に同じ構造をコピペすべし。
どうしてもパターンを共用するのなら、>>101のようにデリゲート使うほうが
まだしもマシ。

ついでに、人にコード見てもらおうっていうんだから
もうちょっと見やすいコード書こうよ。

日本語のメソッド名とか意味のつかめない捨て名のメソッド名じゃ
タチの悪い釣り扱いされても文句言えないよ。
113デフォルトの名無しさん:2007/07/16(月) 19:36:47
俺の考え方がおかしいのかな?

「最もマシなコードを選択しろ」って言われたら

・インターフェイスを使ったやつ
 欠点:引数の違いを補うためにParamArrayか、最大値をとって無理に引数をあわせる必要がある

・デリゲートを使ったやつ
 欠点:インターフェイスと変わらなくね?結局引数の違いがネックでParamArrayに頼る感じ

・継承を使ったやつ
114デフォルトの名無しさん:2007/07/16(月) 19:43:34
イベントなら引数にSenderというオブジェクトとeというイベント継承クラスを入れると
引数の違いなんて事にはならなくね?

設計に問題がある気ガス。
115デフォルトの名無しさん:2007/07/16(月) 20:04:11
>>114
何が言いたいのか分からんが
おまいの言ってることってまんま>>109と一緒でないかい?

今既に引数の違いは関係がなくなって
どうやってeクラスからメインのフィールド受け取ろう?って話じゃないかな
116デフォルトの名無しさん:2007/07/18(水) 00:04:02
ザ・ワールド
117デフォルトの名無しさん:2007/07/18(水) 01:57:18
VB.NET2003で、フォームに設置したSplitterを操作しようとしているのですが、
Locationに値を与えても位置が変わりません。
 Me.Splitter1.Location = New System.Drawing.Point(0, 300)
 MessageBox.Show(Me.Splitter1.Location.Y.ToString) '初期位置のY座標が表示される

一度表示したSplitterのLocationをコード上から変更することはできないのでしょうか?
118デフォルトの名無しさん:2007/07/18(水) 02:13:56
普通Locationは変えずに(Dockされてるし)Sizeをかえるもんじゃないのか?
Widthとかさ
119デフォルトの名無しさん:2007/07/18(水) 02:14:31
どうせDockとかAnchorが設定されてるんでしょ
120デフォルトの名無しさん:2007/07/18(水) 10:49:47
秀作として簡単なゲームを作っています
透過GIFを使って背景は透過出来ましたがPictureboxどおしが重なると四角い枠が見えてしまいます
Pictureboxの重ね合わせはどのようにしたらよいのでしょう?

121デフォルトの名無しさん:2007/07/18(水) 11:24:19
>>117
普通スプリッタはパネル>スプリッタ>パネルって貼るでしょ?
最初のパネルの幅や高さ(要はスプリッタが付く方向)を変えてみ?
122デフォルトの名無しさん:2007/07/18(水) 11:34:54
>>120
ボーダーとかの問題じゃないのか?
123デフォルトの名無しさん:2007/07/18(水) 11:45:43
教えてくださいm(__)m

auからのメールで(アド以降が)@ezuibe.nemaharikumaharetaa@ezってなってて返信押してメールしようとクリックするとマハリクマハリタの文字だけ消えます!何故?Σ(゚Д゚;≡;゚д゚)
124デフォルトの名無しさん:2007/07/18(水) 11:58:02
>>123
教えてくださいm(__)m

>(アド以降が)@ezuibe.nemaharikumaharetaa@ezってなってて
なんで“@”が2つ?
更に不思議なのは、何故このスレで訊く?Σ(゚Д゚;≡;゚д゚)
125デフォルトの名無しさん:2007/07/18(水) 12:06:43
訂正
@ezweb.nemaharikumaharetaa@ez
マジ解る人居るかなぁ?
2chならきっと居るよね
ヽ( ̄∇ ̄)ノ
126デフォルトの名無しさん:2007/07/18(水) 12:07:45
>>120
自分で言うか?<秀作
そんなもん臭作だw
127デフォルトの名無しさん:2007/07/18(水) 12:48:55
>>126
お前もにおうぞ
風呂入ったか?
遺作より
128デフォルトの名無しさん:2007/07/18(水) 12:58:51
>>125
もういいからバイバイ

>>120
習作な。
先は長いぞガンバレ
129デフォルトの名無しさん:2007/07/18(水) 13:11:06
>>128お前解らないだろ?
ギャハハーw
(・∀・)/ヾ〜〜╋┓
130デフォルトの名無しさん:2007/07/18(水) 14:15:10
age
131デフォルトの名無しさん:2007/07/18(水) 15:26:34
132デフォルトの名無しさん:2007/07/18(水) 15:49:59
>>129お前解らないだろ?
ギャハハーw
(・∀・)/ヾ〜〜╋┓
133デフォルトの名無しさん:2007/07/18(水) 15:51:27
>>131お前も解らないだろ?
ギャハハーw
(・∀・)/ヾ〜〜╋┓
134デフォルトの名無しさん:2007/07/18(水) 16:28:19
教授様このスレも解決お願い致します!
135デフォルトの名無しさん:2007/07/18(水) 17:03:50
どうやら小学生がいるようだな
136120:2007/07/18(水) 18:50:42
あたぁ習作でしたw
>>122
ボーダーってPictureboxのプロパティのBorderStyleですか?
境界はnoneにしてますが

pictureboxじゃなくDrawImageメソッドを使う方がいいのかな?
しかし何で命令をいちいちdimで宣言する必要があるんだろ?
面倒なだけで何のメリットがあるのか、ちっともわからん
HSPしか使ったことのない工房の愚痴です、すいません
137デフォルトの名無しさん:2007/07/18(水) 18:59:42
vb.net2005 なんですが
マウスカーソルの位置座標を小数単位で取得する方法が無いでしょうか
よろしくお願いします
138デフォルトの名無しさん:2007/07/18(水) 19:09:52
>>137
釣りですか?
139デフォルトの名無しさん:2007/07/18(水) 19:16:50
>>137
ない
140デフォルトの名無しさん:2007/07/18(水) 19:39:28
描画に関しては小数点座標が使えるので
マウス座標も取得する方法が無いかと思い質問しました

>>138
マジです
>>139
回答ありがとうです
141117:2007/07/18(水) 19:52:56
>>121
ご指摘の通りPanelのサイズを変化させたらそれに伴ってSplitterの位置を変化させることができました。
解決を導く回答をいただきありがとうございました。
142デフォルトの名無しさん:2007/07/18(水) 20:13:20
>>140
マウスは画面でしか使わないのでピクセル単位のみ。
143デフォルトの名無しさん:2007/07/18(水) 20:31:43
>>123も本当です釣りではありません
絵文字が消えるみたいな現象です
お分りになる方教えてくださいm(__)m
144デフォルトの名無しさん:2007/07/18(水) 20:35:00
>>143
windowsをアップデートすると直るよ
145デフォルトの名無しさん:2007/07/18(水) 20:38:02
>>143
Vistaにすれば問題なし
146デフォルトの名無しさん:2007/07/18(水) 20:54:39
>>144-145様ありがとうございます!m(__)m
受信の端末は携帯なんです
何故、英字コードが消えたりするのでしょう?
147デフォルトの名無しさん:2007/07/18(水) 21:01:15
それこそエンコードじゃねぇの?
148デフォルトの名無しさん:2007/07/18(水) 21:23:57
>>146
死ね。
149デフォルトの名無しさん:2007/07/18(水) 21:53:14
>>146
outlook Expressのバグ
正規のoutlookか他のメーラーを使えば良いよ
150146:2007/07/18(水) 21:58:28
自己解決しました。
ここの人間はクソの役にも立ちませんでした(´・∀・`)
151デフォルトの名無しさん:2007/07/18(水) 23:16:24
すみませんVB2005を使っていてどうしてもつまってしまったので教えて下さい
プログラム初心者です

子フォームでラジオボタンでインターフェースの切り替えの操作をしていて、
親フォームである計算の途中でラジオボタンの操作を自動で行わせるプログラムを作成したいのですが
子フォームの該当箇所メソッドをPublicにした後親フォームで呼び出したところ
「パラメータ'e'に対する引数が設定されていません」的なエラーを言われました。

どうしてやればいいんですか?
152デフォルトの名無しさん:2007/07/18(水) 23:16:59
>>150テラワロスwwwwww
クソの役にもたちませんですたゝ( ゚∀゚)メ(゚∀゚ )ノ
てか、自己解決してないってば(・∀・)ニヤニヤ
153デフォルトの名無しさん:2007/07/18(水) 23:20:47
>>149質問読んでね!(≧∇≦)
154デフォルトの名無しさん:2007/07/18(水) 23:29:06
>>151
エラー内容そのまんまだけど、パラメータ'e'に対する引数を設定すればいいよ。
ソースも書かずにどうすればいいかって意味わからないけど、多分こう。
Call RadioButton1_Click(RadioButton1, New EventArgs())

>>153
>>123
>(アド以降が)@ezuibe.nemaharikumaharetaa@ez
それきっとauからのメールじゃないよ。変だモンヾ(*´∀`*)ノ キャッキャ
155151:2007/07/18(水) 23:37:25
>>154
サンクスです!
やってみます!
156デフォルトの名無しさん:2007/07/18(水) 23:42:25
>>154
>>125に訂正してありま━━━(゚Д゚;)━━━す!!

教えて(・∀・)ノ
157デフォルトの名無しさん:2007/07/19(木) 00:11:20
此処役にたちま千円(゚ε゚)
158154:2007/07/19(木) 00:11:32
>>156
おぉ、訂正してたの気づかなかったわ。ごめん。
>@ezweb.nemaharikumaharetaa@ez
これきっとauからのメールじゃないよ。@が2個あるとか最後が@ezとかおかしいモン。
これはPCから送られてきた偽装メールだから、返信もおかしくなって当たり前。
159デフォルトの名無しさん:2007/07/19(木) 00:18:22
>>158
クリックして返信画面になると(アド)@ezweb.ne.jp.
表示になるんです!!

マハリクマハリタは消えてしまうから不思議なんです
マジ何故消えてしまうか知りたいんです
160154:2007/07/19(木) 00:26:15
>>159
何故って言われてもそうゆもんだから(゚ε゚)
161デフォルトの名無しさん:2007/07/19(木) 00:38:14
わかるけど お前の態度がきにいらない

だれかAAはっといて
ヽ(´ー`)ノ
ワッショイヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノワッショイ
162デフォルトの名無しさん:2007/07/19(木) 00:39:36
専門バカなら分かるよ
さそれじゃタダのバカと同じじゃん( ´∀`)σ)Д`)
163デフォルトの名無しさん:2007/07/19(木) 00:42:01
つうか、そういうものだと割り切ることも大切だ
164デフォルトの名無しさん:2007/07/19(木) 00:45:13
またバカかw( ̄ー ̄+)
165デフォルトの名無しさん:2007/07/19(木) 00:47:31
粘着うざい
166デフォルトの名無しさん:2007/07/19(木) 00:53:30
じゃ教えてミソ(-"-)y-゚゚゚
167デフォルトの名無しさん:2007/07/19(木) 00:56:43
wっうぇwwっうぇうぇwww 厨臭いAAだwww
168デフォルトの名無しさん:2007/07/19(木) 00:59:22
つーかスレ違いじゃね?
いいの?いいの?
169デフォルトの名無しさん:2007/07/19(木) 01:01:33
じゃ教えてミソ(-"-)y-゚゚゚
じゃ教えてミソ(-"-)y-゚゚゚
じゃ教えてミソ(-"-)y-゚゚゚
じゃ教えてミソ(-"-)y-゚゚゚
じゃ教えてミソ(-"-)y-゚゚゚
じゃ教えてミソ(-"-)y-゚゚゚
じゃ教えてミソ(-"-)y-゚゚゚
じゃ教えてミソ(-"-)y-゚゚゚
じゃ教えてミソ(-"-)y-゚゚゚
170デフォルトの名無しさん:2007/07/19(木) 01:04:10
なんか盛り上がってるな
171デフォルトの名無しさん:2007/07/19(木) 01:10:23
年寄りは寝ただろうから
教授は居ないポィ┐(´─`)┌
172デフォルトの名無しさん:2007/07/19(木) 01:30:38
おめーらわからないんだろ〜〜〜〜〜
(・∀・)/ヾ〜〜╋┓
(・∀・)/ヾ〜〜╋┓
(・∀・)/ヾ〜〜╋┓
173デフォルトの名無しさん:2007/07/19(木) 01:35:30
答えが出ないから宿題にするよ(゚ε゚)
174デフォルトの名無しさん:2007/07/19(木) 06:30:43
おはよう(・∀・)ノage
175デフォルトの名無しさん:2007/07/19(木) 10:13:21
Fromが(アド)@ezweb.nemaharikumaharetaa@ez
Reply-Toが(アド)@ezweb.ne.jp
になっていれば、表示アドは(アド)@ezweb.nemaharikumaharetaa@ez
でも、返信を押せば(アド)@ezweb.ne.jpが出るよ。
176デフォルトの名無しさん:2007/07/19(木) 10:17:27
知的障害者の鼬害質問にも反応したくなるほど暇なら
「VB.NET (Compact Framework 1.1) による
 フォーム派生クラスのデザイン時コントロールの作り方」に
詳しいWebページや本の紹介をして下さいマセヨ。
177デフォルトの名無しさん:2007/07/19(木) 13:29:59
>>175ワーイ!ありがとうございます o(*^▽^*)o
問題は何故テクマクマヤコンの文字が消えるかなんですょ?

>>176知的障害だって言われるなら答えられるよね?知的障害の話だなんて
話をすり替えて逃げないで答えてね!!
解らないくせに(゚ε゚)
178デフォルトの名無しさん:2007/07/19(木) 13:32:31
知的障害のお前の言うことは日本語としておかしいから答える必要もないプー(゚ε゚)

サッサトシネヨテイノウ
179デフォルトの名無しさん:2007/07/19(木) 13:40:53
>>177訂正

テクマクマヤコン×
マハリクマハリタ〇
180デフォルトの名無しさん:2007/07/19(木) 13:44:32
>>178答えられない藻前も知的障害と代わり茄子じゃんギャハハ(・∀・)/ヾ〜〜╋┓ ┣¨┣¨┣¨┣¨┣¨ ┃┃¨╋┓┃┃¨╋┓
181デフォルトの名無しさん:2007/07/19(木) 13:48:13
┃┃¨╋┓┃┃¨╋┓
182デフォルトの名無しさん:2007/07/19(木) 13:50:34
┃┃¨╋┓┃┃¨╋┓
183デフォルトの名無しさん:2007/07/19(木) 14:03:21
Fromが(アド)@ezweb.nemaharikumaharetaa@ez
Reply-Toが(アド)@ezweb.ne.jp

こうなっている場合、返信ボタンを押すと
(アド)@ezweb.nemaharikumaharetaa@ezから
maharikumaharetaが取り払われて(アド)@ezweb.ne.jpがセットされるのではなく、
単純にReply-Toに設定されている(アド)@ezweb.ne.jpがMailToに格納される。
別に文字が消えたわけではない。

該当メールのヘッダをココに貼ってみろ。はっきりするから。
184デフォルトの名無しさん:2007/07/19(木) 14:05:04
表現があやふやだったな。

maharikumaharetaが取り払われて(アド)@ezweb.ne.jpがセットされるのではなく、
単純にReply-Toに設定されている(アド)@ezweb.ne.jpがMailToに格納される。

maharikumaharetaが取り払われて(アド)@ezweb.ne.jpがMailToに格納されるのではなく、
単純にReply-Toに設定されている(アド)@ezweb.ne.jpがMailToに格納される。
185デフォルトの名無しさん:2007/07/19(木) 14:34:35
>>184神降臨 ゚☆,。・:*:・゚★o(´▽`*)/
ありがとうございますm(__)m

単純にReply-Toに設定されている(アド)@ezweb.ne.jpがMailToに格納される。
とありますが

maharikumaharetaはReply-Toに設定されてされていない事になるんですか?

端末は携帯です。どの様な操作をすれば出来ますか?
私自身アドにmaharikumaharetaa@で試みましたがmaharikumaharetaは消えませんでした
186デフォルトの名無しさん:2007/07/19(木) 14:49:05
携帯から直接Reply-toを指定してメールするのは無理。
パソコンからだと、一般的なメーラはReply-toの設定ができるはず。
"(利用しているメーラ名) Reply-to"なんかで検索するといい。
それでReply-toの設定が出来たら、自分の携帯宛にメールをしてみるとよい。
auはReply-toの設定が有効だから、再現できると思うぞ。
187デフォルトの名無しさん:2007/07/19(木) 15:04:29
>>186詳しくありがとうございますm(__)m

私の携帯はDoCoMoなのですがau同様に出来ますでしょうか?
188デフォルトの名無しさん:2007/07/19(木) 15:05:24
気違いの相手をするやつも気違い
189デフォルトの名無しさん:2007/07/19(木) 15:19:09
>>186様感謝致しますm(__)m
>>188デフォルトの名無しさん→気違いのお陰で勉強になったでしょ?
有り難く思いなさい(ノ`Д´)ノ ■━⊂(・∀・)彡ガッ
190デフォルトの名無しさん:2007/07/19(木) 15:47:50
>>188藻前も人から尊敬される様な知識と人格を持ってね!
191デフォルトの名無しさん:2007/07/19(木) 15:55:14
メーラーのReply設定で尊敬する知識か。

世の中、尊敬する人ばかりで大変だなw
192デフォルトの名無しさん:2007/07/19(木) 16:08:10
>>191知識と※人格
        ̄ ̄
ここ重要ね!ヽ(・∀・)ノ
193デフォルトの名無しさん:2007/07/19(木) 16:09:20
よくこんな質問に答える気になったな。
194デフォルトの名無しさん:2007/07/19(木) 16:13:37
>>193お前も初めから知識があったか?今の私同然のはずだょ(^.^)b
教えて頂いた積み重ねが今のお前なだけ(゚ε゚)
195デフォルトの名無しさん:2007/07/19(木) 16:20:10
教えてくださった皆様ありがとうございましたm(__)m
196デフォルトの名無しさん:2007/07/19(木) 16:41:46
>>195
スレチだから今度からこっちで聞くようにね?

ttp://pc11.2ch.net/test/read.cgi/tech/1179394713/
197デフォルトの名無しさん:2007/07/19(木) 16:50:56
>>196良いスレがあったんだね!そこ行くよ ☆^(o≧▽゚)o
私専属の先生に任命してあげるからシッカリ教えてね!
m9(・∀・)ビシッ!!
198151:2007/07/19(木) 22:03:14
>>154
やってみたところ出来ました!!
本当にありがとうございます!!
俺の中で154さんは神様です

ただ子フォームのラジオボタンが、見た目何も変化していないのが気になります。
いまのフォームではラジオボタン1と2がありまして最初は1になるように設定してあります。
先程のやり方でデバッグすると、
本来ならラジオボタン2にクリックされた試行をしているはずなのですが
(実際その試行は行われているんですが)
子フォームのラジオボタンの表示は変化していません。
対応させるにはどうしたらいいのでしょうか。
よろしくお願いします。
199デフォルトの名無しさん:2007/07/19(木) 22:08:59
>>198
あなたのやってることも>>154の回答もうんこ。
Click or CheckedChanged のイベントハンドラ実行したって
もとのラジオボタンにはなんの影響もありませんことよ。
radioButton2.Checked = trueしたらよかっぺ
200デフォルトの名無しさん:2007/07/19(木) 22:23:14
よかっぺww

お前、結構前からレスしてるよな。
間抜けな回答してた香具師として覚えてるww
201デフォルトの名無しさん:2007/07/19(木) 22:40:30
>>200
うるせー死ねハゲ
202デフォルトの名無しさん:2007/07/20(金) 01:04:18
(´・ω・`)ママーリいきましょ
203デフォルトの名無しさん:2007/07/20(金) 09:56:31
VB2005って体験版みたいの
どっかから無料でダウンロードできる?
204デフォルトの名無しさん:2007/07/20(金) 10:02:38
Microsoftいってこい
開発ツールのところにあるだろ
それぐらい見てからしゃべれカス
だから馬鹿みたいなくだらない質問するんだろうが!!!!!!
205デフォルトの名無しさん:2007/07/20(金) 10:08:22
そんなぁ、、、、
アスペルガーのあなたに
言われたくありませんよ(藁
206デフォルトの名無しさん:2007/07/20(金) 10:28:27
>>205
スレ違いですこちらへどうぞ

最高に頭の悪い発言をしてくださいinム板(XII)
ttp://pc11.2ch.net/test/read.cgi/tech/1179394713/
207デフォルトの名無しさん:2007/07/20(金) 20:18:42
express editionダウンロードしようとおもったら
microsof なんとかIDとやらを取得しろってでた
208デフォルトの名無しさん:2007/07/20(金) 20:30:29
>>207
入門書の付属CDに入ってることも多いよ
209デフォルトの名無しさん:2007/07/20(金) 20:36:09
プログラムの仕方で悩んでいます。
コントロールに値が入力(選択)されているかのチェックに
例外を使ったんだけど、こういう場合は使わない方が良いのかなー。

例:
If TextBox1.Text.Equals("") Then
  TextBox1.Select()
Throw New Exception("TextBox1が入力されていません。")
End If
210デフォルトの名無しさん:2007/07/20(金) 21:06:43
起動するのに数分間ってなんだよ!
211デフォルトの名無しさん:2007/07/20(金) 22:03:04
ビルド選んだら
「ユーザーはこのアプリの更新をどこで確認するのですか?」
とか余計なこと聞いてきやがった
いいからさっさとコンパイルしろや
212デフォルトの名無しさん:2007/07/20(金) 22:44:27
そうやって自分が馬鹿なのを人や道具のせいにするから君は進歩がないんだよ
213デフォルトの名無しさん:2007/07/21(土) 00:25:07
>>209
それ例外じゃないからメッセージボックスがいいと思うよ。
214デフォルトの名無しさん:2007/07/21(土) 04:52:00
これって6.0みたいに
RAD内で実行、テストするのが
できなくなったの?

なんかデスクトップの「a」ってフォルダ作って
そこの中に発行して、setup.exe実行して
ようやく動作を確認する感じ。

6.0だったらRAD内で動作確認できたよね?
215デフォルトの名無しさん:2007/07/21(土) 06:12:07
>>214
オンメモリでの実行は出来なくなったが、セットアッププログラムまでは作らなくてもいいぞ。
ファイルは作るがIDEから実行できる。
216デフォルトの名無しさん:2007/07/21(土) 06:59:01
・Buttonクラス継承して、自作メソッド「Test」を追加した、MyButtonクラスを作成
・デザイナでボタンを作って、フォームロードの時に「Me.Button1 = New MyButton」を実行
・Button1.AddHandle...で、ButtonのClickイベント「MyEvent」を登録
・MyEventではsenderとeを受け取り、処理内容に sender.Test() を記述

こんな感じでボタンイベントに自作の処理を追加したかったんだけど、ボタンが動かない・・・

ボタンがいっぱいあってどれも同じような処理してるんで、
処理内容が違う部分だけクラスにしてAddHandleをループでまわしてコードへらそうと思ったんですけど・・
そもそもこんな処理をするのはおかしいですか?
217デフォルトの名無しさん:2007/07/21(土) 07:01:26
>>215
そのIDEから実行、のやり方をおしえてくれる?
どこのメニューなのかわからん
218デフォルトの名無しさん:2007/07/21(土) 08:31:03
ストリングのスプリットについて質問です。

Const cString As String = "文字列1" & VbCrLf & "文字列2"
というものがあって、このうち文字列1と文字列2を別々に使いたいので、

Dim sArray() As String
sArray = cString.Split(VbCrLf.toCharArray)

としてみたのですが、結果が
sArray(0) = "文字列1"
sArray(1) = ""
sArray(2) = "文字列2"
となってしまいます。

できればsArray(1)に"文字列2"が入ってほしいのですが、
何が原因なのでしょうか?
219デフォルトの名無しさん:2007/07/21(土) 09:10:23
マニュアル読んでから使えよ。
いや、メソッドの引数に意味くらい調べてから使えよ。
220デフォルトの名無しさん:2007/07/21(土) 09:11:16
>>217
普通に実行すりゃできるのにわざわざ発行してるなんてありえん。
発行のがよっぽどわかりにくいはずだろ。
221デフォルトの名無しさん:2007/07/21(土) 09:32:50
ばかはおまえだ
6なら実行というメニューがあったが
2005にはない
222デフォルトの名無しさん:2007/07/21(土) 09:34:20
www
223デフォルトの名無しさん:2007/07/21(土) 09:42:08
ひょっとして本気でデバッグ開始がわからんのか。
VB6つかっててプログラミングは素人じゃないはずなのに。

ツールバーのデバッグ開始ボタンよりも発行を先にやるとは器用なやつだw

224デフォルトの名無しさん:2007/07/21(土) 09:48:19
CDでダビングしないと再生できない。
前のはもっと感嘆だったのに。
どういうことだよ

普通に再生すりゃできるのにわざわざダビングしてるって意味わからんw
ダビングの方がよっぽどわかりにくいだろ

ばかはお前だ、再生ボタンなんてどこにもないだろ。

いや、右三角ボタン…、普通みなまで言わんでも意味わかるだろ…
225デフォルトの名無しさん:2007/07/21(土) 09:50:02
ヘルプ読んだらわかったわ
実行をデバッグって読んでるのはどういうことよ
責任者呼んでくれる
226デフォルトの名無しさん:2007/07/21(土) 09:54:51
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /
227デフォルトの名無しさん:2007/07/21(土) 10:59:34
もう夏厨の湧く季節か…
ちと早くね?
228デフォルトの名無しさん:2007/07/21(土) 11:28:52
>>217
F5
229デフォルトの名無しさん:2007/07/21(土) 14:10:41
環境:vb.net2005 express

タスクトレイにNotifyIconでアイコンを表示させたいのですが、
Windows2000でアイコンがモノクロ表示になってしまいます。
最近買ったVistaのほうではカラーで正常に表示されます。

Windows2000上で発行したEXEとVista上で発行したEXEのどちらを
使用しても、結果は同じです。(Windows2000だけモノクロアイコン)

※もちろん他のアプリのアイコンは正常にカラーで表示されます。

どなたかよろしくお願いします。

230デフォルトの名無しさん:2007/07/21(土) 14:15:29
32Bitアイコン使ってる、ってオチでしょどうせ。
XPより前のOSは32Bitのアイコンには対応してないと思ったけど
231デフォルトの名無しさん:2007/07/21(土) 14:18:37
>>229
2000は16色
XP以降は32bit
232デフォルトの名無しさん:2007/07/21(土) 14:24:48
16色っていつの時代の話よそれw
24bitは普通に使えるよ。
233デフォルトの名無しさん:2007/07/21(土) 15:08:05
>>230-232
ありがとうございました。
ただ@iconというフリーソフトで見る限り、24ビットのようです。
うーん、なんでしょう。
8bit(256色)にして試してみましたが、同じくモノクロ表示です。
ほかに原因等は考えられないでしょうか・・・
234デフォルトの名無しさん:2007/07/21(土) 15:21:55
>>232
>いつの時代の話よそれw
Windows 2000 の時代。
因みに、エクスプローラの問題。

>>233
どーしても気に入らない場合、"TrayNotifyWnd" の HWND から
スレッド探して、そいつにフック。
235デフォルトの名無しさん:2007/07/21(土) 15:38:08
いやWin2kのOS自身のオブジェクトのアイコン(たとえばマイコンピュータとか)
が16色で描かれてると思ってる人初めて見たよw
236デフォルトの名無しさん:2007/07/21(土) 15:49:57
マイコンピュータとか表示してるのは OS じゃなくてシェルである Explorer だけどな
237デフォルトの名無しさん:2007/07/21(土) 16:01:20
>>235
NotifyIconのはなしでしょ。
普通のアイコンはそりゃ24bitだけども。
238デフォルトの名無しさん:2007/07/21(土) 16:06:24
ああすまん調べてみると確かにタスクトレイのアイコンはWin2k以前は16色という
制限があるみたいだね。

全然知らなかったよ。。
239デフォルトの名無しさん:2007/07/21(土) 16:17:37
>>238
何の話をしてるのか解ってなかったんかい!w
240デフォルトの名無しさん:2007/07/21(土) 16:33:09
ワロタ
241デフォルトの名無しさん:2007/07/22(日) 04:01:20
俺用メモ

"文字列"の文字列中で " を使うには ""
ずっと \" だと思っていて時間15分食った。
242デフォルトの名無しさん:2007/07/22(日) 04:48:41
ボタンをおしたら乱数を発生させる、
ってのを作りたいんだが、どうすればいいかな

パスワード生成ソフト。
8桁で、
半角のアルファベットと、
半角の数字が混在したもので、
数字は2つ以上必須。
アルファベットは
2つ以上の半角大文字と
2つ以上の半角小文字が
必ず入ったもの。
243デフォルトの名無しさん:2007/07/22(日) 06:39:20
エラー 1 'ElseIf' の前には、対応する 'If' または 'ElseIf' を指定しなければなりません。
ってでるんだが、指定の方法がわからん
指定なんてできるのか?
244デフォルトの名無しさん:2007/07/22(日) 08:07:51
わかったわ
必ず改行しないとだめなんだわ
改行で識別してるってどんなアホ言語だよ?
245デフォルトの名無しさん:2007/07/22(日) 08:31:51
>>244
Python使いの俺にケンカ売ってんのか
246デフォルトの名無しさん:2007/07/22(日) 10:06:02
>>242
条件に当てはまらなければやり直しでいいんじゃね?
下手な小細工するよりはね
247デフォルトの名無しさん:2007/07/22(日) 10:15:08
>>246
うん。それでいこうとおもうんだ。
で、いま、Rnd()関数で1−62の数字を生成させて、
1だったら1
2だったら2
、、、、、、
9だったら9
10だったら0
11だったらa
12だったらb
、、、、、、、
○○だったらz
XXだったらA
△△だったらB
、、、、、、、、
□□だったらZ
ってやろうとおもって、
最初if ,,,then a=1
else if then ,,,,
end if
ってコード書いて、改行入れないと認識されないってのが
わかんなっくて、それで3時間悩んで、いまようやっと
改行入れればいいんだ、ってわかって、それで次は
ifでなくてcaseにしたほうが賢いよね、って思って、
それをいますぐコーディングするか、あるいは
図書館いって紅の豚見るか、本屋いって立ち読みするか、
WoWやるかUOやるか、グーグルで検索してみつけた
大学生のプロブラマーさんにメールだすか、、、、
ってところで悩んでる
248デフォルトの名無しさん:2007/07/22(日) 10:48:58
>>242
要は以下の機能を作れば実現可能じゃないか

(1) Nの中からランダムな一文字を吐くメソッドGetN
(2) Uの中からランダムな一文字を吐くメソッドGetU
(3) Lの中からランダムな一文字を吐くメソッドGetL
(4) Cの中からランダムな一文字を吐くメソッドGetC
(5) 上の各メソッドそれぞれについて2つずつ値を取得し、それらの文字を組み合わせて
  8文字の文字列を吐くメソッド
(6) 引数にとった文字列中の文字をランダムに並び替えた文字列を吐くメソッド

ここで、
 N: 半角数字の文字の集合
 U: 半角数字と半角英字の大文字の集合
 L: 半角数字と半角英字の小文字の集合
 C: 半角英数字の文字の集合
249デフォルトの名無しさん:2007/07/22(日) 10:49:45
まさかその段階で悩んでるとは思わなかった。
VBなら、そうだな、wchrだったか、chrでも同じだったか
とにかくその辺の関数でどうにでもなる。

文字種別だけifとかで分けて、もしくは足す数値を変えて
chrやらで文字にすればいい。
250デフォルトの名無しさん:2007/07/22(日) 13:33:35

TextBox を単純なログ垂れ流し領域として使いたいのですが、Text プロパティに
文字を追加しただけでは勝手にTOP位置までスクロールしてしまいます。
その直後に最下行へスクロールさせても表示がガタついて上手くありません。

TextBoxの表示位置を変えずに、文字列だけ追記する方法はありませんでしょうか。

通常であれば AppendText を使うのですが、これが実装されていない環境( Compact)
なので・・・・・・・

よろしくお願いいたします。
251デフォルトの名無しさん:2007/07/22(日) 14:25:54
コントロール配置を右寄せかつ高さを自分で決めれるかつAutoSizeするにはどうプロパティ設定したらいいでしょうか?

お願いします
252デフォルトの名無しさん:2007/07/22(日) 14:31:29
日本語でお書き下さい。
またはエスパーを召還してください。
253デフォルトの名無しさん:2007/07/22(日) 21:40:10
>>252
難しかったですか?
簡単に言うと
「AppendText を使わずに、AppendTextと同じ機能を作る方法は?」
です。

254デフォルトの名無しさん:2007/07/22(日) 22:54:50
>>253
いやエスパー召還が必要と思われるのは>>251の方。

>>250は難しそうだね。
Compactって思いのほか制約が多いんだね。
SuspendLayoutもWndProcも使えないんじゃどうやって良いかわからない。

ただ、ログを表示するだけならスクロールバーとラベルを組み合わせて
コントロールを自作すれば済むことのような気もする。
255デフォルトの名無しさん:2007/07/22(日) 22:59:58
ListView の詳細表示とかどうかな?
256デフォルトの名無しさん:2007/07/23(月) 00:18:08
>>254
ListBox
257デフォルトの名無しさん:2007/07/23(月) 09:07:34
プログラムの実行を途中で停止したいのですが・・・

end だとアプリそのものがとまってしまいます
exit sub にすると呼び出されている関数の場合
もとの式に戻って実行を続けます
その以降の処理だけとめて、
入力待ち状態にしたいのですが
こういう場合はどうすればよいのでしょうか?
258デフォルトの名無しさん:2007/07/23(月) 09:29:47
止めるだけっていうなら
thred.sleep
これでよくね?
259デフォルトの名無しさん:2007/07/23(月) 09:31:08
Thread.Sleep
だたorz
260デフォルトの名無しさん:2007/07/23(月) 09:48:53
>>257
プログラムを実行中止状態にすれば、入力待ち状態にはならない。
VBはイベントドリブンだから、普通に書けば、入力待ち状態だろ。
261デフォルトの名無しさん:2007/07/23(月) 10:12:55
>258

Thread.Sleep だと、指定時間後に制御が戻ってしまいました
スンマセン

>260

まさしくそのとおりなんです
その普通の入力待ち状態に持っていきたいのですが

Sub a
call b()
call c()
end sub

sub b()
exit sub
end sub

上の例でa() を実行した場合にb()の中で
Exit Subを行うと 
呼び出した側のa()に制御が戻るだけですので
c()が実行されます

そうではなくて、b()内でメソッドを実行するだけで
a()の以降の処理も停止する、上の例で行けばc()の処理を
発生させないメソッドはないものかと思案中です・・・。


262デフォルトの名無しさん:2007/07/23(月) 10:17:44
どんな復帰のし方するか知らんが
フラグもってイベントでフラグチェックしてe.Cancel使えばどうなのさ?
263デフォルトの名無しさん:2007/07/23(月) 10:52:03
>>261
フラグはちょっと気持ちが悪い(笑)
Subじゃ無くてFunctionを使って、Returnで値を返して、
条件分岐....
264デフォルトの名無しさん:2007/07/23(月) 11:01:05
その中断の条件が例外として扱ってよい事象なら
例外にしてSub Aのレベルでキャッチする。
ただ通常の分岐なら使うべきではない。
265デフォルトの名無しさん:2007/07/23(月) 12:28:45
>>261
何か策を弄そう、という発想がこの場合間違い。
そんなことが可能だとして、そんなプログラマの予期を裏切るような
コードが「よいコード」だと思う?

フラグでも何でも使って愚直にやってください。
266デフォルトの名無しさん:2007/07/23(月) 12:53:36
皆様ありがとうございます

dim blnExit as booLean = false

Sub a
call b()
if blnExit = True then Exit Sub
call c()
end sub

sub b()
if ----
----
else
blnExit = True
end if
end sub

てなかんじでフラグたてて毎回チェックさせてみます
アドバイスありがとうございました
267デフォルトの名無しさん:2007/07/23(月) 12:55:00
そんなこといなくちゃいけないんなら素直にメッセージ出してEnableいじればいいんちゃうんかと
もしくはダイアログ出すとか

268デフォルトの名無しさん:2007/07/23(月) 15:21:28
そのフラグは止めろ、まじで。
戻り値とかには出来んの?
269デフォルトの名無しさん:2007/07/23(月) 15:48:08
理由は?
270デフォルトの名無しさん:2007/07/23(月) 16:53:18
sub b
の中で最後にcall c()するようにして、
sub bの中で条件によりexit sub するようにしちゃいかんの?

271デフォルトの名無しさん:2007/07/23(月) 17:05:56
解決してるんだしもういいんではないかと。
272デフォルトの名無しさん:2007/07/24(火) 14:44:35
MessageBox について

MessageBoxで、String型の引数1つだけ指定するShow()を実行したとき、
OKボタンはちゃんと現れてくれたのですが、戻り値を受ける形で記述しないと、
OKボタンを押さない内に、表示と同時に先に進んでしまう、といったことは
あり得るでしょうか?

というか、実はそういう現象になったのですが、以前からMessageBoxって
こうでしたっけ?少なくともVB6以前ではこういう事象は経験したことがなく
ちょっと驚いております・・・。それともこれは記述に依存する仕様なの
でしょうか・・・?
273デフォルトの名無しさん:2007/07/24(火) 15:36:20
>>272
そもそもMessageBox.Show関数に引数1つだけのオーバーロードなんかないと思うが?
274273:2007/07/24(火) 15:38:22
ごめん、今の間違ってた あるあるw

つうか、
MessageBox.Show("hagehage")
これで次へ進むにはOK押さないとすすまないんだが?
うちのフレームワークの場合
ちなみに2.0 SP1
275デフォルトの名無しさん:2007/07/24(火) 15:54:52
>>274

、ですよね、そうであるはずなのですが、どういうわけか
「ボタン押下を待たずに」、先に行ってしまい、MessageBoxだけは残ったまま
という状態となり、後からボタンを押すとMessageBoxは消えてくれるという
変な状態だったのでした。

これって何だったのか・・・。しょうがないので、とりあえずボタンなどの
引数入れて書き直したところ、ちゃんと待つようになりましたが・・・、
こんなことっておかしいですよね?ちなみにこっちも同じFrameworkは同じ
バージョンでした。
276デフォルトの名無しさん:2007/07/24(火) 16:55:25
DataGridViewにデータをバイドさせて使うとき
あらかじめデザイナでカラムを追加し、バインドするカラムの名前をDataPropertyNameを設定していてやる
DataGridView.DataSource=dt

で、バインドさせるとまず正常にバインドされて表示

このあと同じカラム構造の別のデータテーブルをデータソースに入れるときに

Directcast(DataGridView.DataSource,DataTable).dispose
DataGridView.DataSource = Nothing

としたらこの時点でもともと追加していたカラムがColumnコレクションから消えちゃってる・・・

そのあと
DataGridView.DataSource=新しいdt
としたら当然DataGridViewcolumnオブジェクトがないので空のDataGridViewにバインドさせたのと同じ状態に・・・・

この動作は仕様ですか?( ゚Д゚)?
テーブルバインドさせる時みんなどうやってんの?
277デフォルトの名無しさん:2007/07/24(火) 16:59:10
「画面のプロパティ」のデザインタブのフォントサイズを取得する方法って
ありますでしょうか?
278デフォルトの名無しさん:2007/07/24(火) 17:03:49
初心者の質問ですみませんが、どなたかお教えください。
WindowsXP + VisualStudio + VB2005 でWindowsアプリを作ってます。
ここで、タスクトレイにアプリを常駐させて、ショートカットキーで
起動したいと思ってます。例えば、UWSCや日本語FEPのように、
他のアプリがアクティブな状態でもショートカットキーで処理を起動
するのが目的ですが、その方法がわからないで困っています。

FormにNotifyIconコンポーネントを追加して、ContextMenuStripを
関連づける方法で、タスクトレイ上でアイコンを右クリックして、
メニューを表示し、その上でショートカットキーで動作させることは
できました。
しかし、メニューをポップアップしていない状態でショートカットキー
を入力しても、処理が起動されません。
ヒントでもいいので、よろしくお願いします。

279278:2007/07/24(火) 18:14:39
RegisterHotKeyを使って、なんとか自己解決できそうです。
お騒がせしました。
280デフォルトの名無しさん:2007/07/24(火) 20:13:50
教えてください!
VB2005EXPRESSである機能をもつフォームを作りました。そのフォームをスタートアップフォームにしたときはちゃんと動くのですが、別のフォームをスタートアップにしてそのフォームを呼び出したときはちゃんと動きません。こんなことってあるのでしょうか?
(詳細続く)
281デフォルトの名無しさん:2007/07/24(火) 20:46:53
(上からの続き)うまくいかない機能とはDATAGRIDVIEWの部分です。
この中にあるマスタのコード入力用列と名称表示用列を作りました。セルの値が変化したときにDATASETの中身をFINDBYで検索し名称列に値をを自動セットする仕組みです。
この名称取得が該当フォームを別のフォームより呼び出した場合のみ動きません。
何か分かる事があれば教えてください。よろしくお願いします。
282デフォルトの名無しさん:2007/07/24(火) 21:29:02
>>277
SystemFonts

>>280
何かの変数の中身が呼ぶ順番に依存してるんだろとしか
283デフォルトの名無しさん:2007/07/24(火) 21:56:07
>282
レスありがとうございます!
仰ているのは例えば変数Aをフォーム1(スタートアップ)、2(DATAGRIDのある方)で共有していてフォーム1から呼び出した場合はフォーム1が変数Aの値を書き込んでいるのでその影響を受けるとかいうことですかね?
頑張って調査します。
284部長:2007/07/25(水) 09:43:20
アパッチのアクセスログで、
*.co.jpからのアクセスだけ残して、
他は全部捨てる、ってプログラムを
VBで書こうと思ったんだけど、どんなもんかな?
285部長:2007/07/25(水) 09:44:30
アパッチのアクセスログがこんな感じになってて、
afeda.ocn.ne.jp
awefre.unko.co.jp
fedwa.tinpo.ac.jp
co.jpの行だけ残して
他はみたくないんだよ。できる?
286デフォルトの名無しさん:2007/07/25(水) 09:52:05
For i As Integer = 0 To Me.TextBox1.Lines.Length - 1
If Me.TextBox1.Lines(i) Like "*.co.jp" Then
MessageBox.Show(Me.TextBox1.Lines(i))
End If
Next i
287デフォルトの名無しさん:2007/07/25(水) 10:03:10
VB.NET2005ではじめえEXCELをCOM参照して操作したが・・・

これ試しにOffice97しかはいってないWin2000に入れたらうごかねぇのw

こんなエラーが・・・・

保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。
アプリケーション動作中の予期せぬ例外が発生した為、処理を中断しました。

俺涙目orz
288デフォルトの名無しさん:2007/07/25(水) 10:16:07
COM参照ってなんだっけ?
APIみたいなもんか?

ところでゲイツってCOMとか.NETとか
インターネットで使われる用語をすぐに
ぱくりたがるよね?
289デフォルトの名無しさん:2007/07/25(水) 11:05:28
Javaのpackageのようなものはありますでしょうか?

ソースをパッケージでまとめたいのですが
290デフォルトの名無しさん:2007/07/25(水) 11:08:24
VSインストーラでどうぞw
291デフォルトの名無しさん:2007/07/25(水) 11:23:56
namespaceのことじゃね?
292デフォルトの名無しさん:2007/07/25(水) 11:26:41
>>291
おぉ!
たぶんそれです。調べてみます。
293デフォルトの名無しさん:2007/07/25(水) 11:33:12
>>287
バージョン依存のインターフェイスメソッドとか使ってるんじゃね?
294デフォルトの名無しさん:2007/07/25(水) 12:11:40
COM参照した場合ってバージョン固定になったりしないの?
295デフォルトの名無しさん:2007/07/25(水) 12:25:26
レイトバインディング
296デフォルトの名無しさん:2007/07/25(水) 12:30:33
そもそも本当にエクセルを操作していることが原因かどうか怪しいもんだけどねw
俺はまず9割方別の理由だと思う
297デフォルトの名無しさん:2007/07/25(水) 12:38:34
どうも今調べてみたら2007のOffice.Coreを参照してたくさいorz
298デフォルトの名無しさん:2007/07/25(水) 16:42:14
プロシージャ内の変数の宣言するときって、今まで上の方にまとめて書いてたんですが
買った本のサンプルだと使う度にその場所で宣言してるようです。
みなさんどっちですか?
299デフォルトの名無しさん:2007/07/25(水) 16:44:33
スコープによって変える
300デフォルトの名無しさん:2007/07/25(水) 17:51:51
上にまとめるやつきもい
301デフォルトの名無しさん:2007/07/25(水) 22:45:44
上にまとめる意味が分からない
302デフォルトの名無しさん:2007/07/25(水) 22:48:37
>>300-301

もっとやさしく
303デフォルトの名無しさん:2007/07/25(水) 22:52:34
まあ感覚だからね。
うまく例を挙げられないけど、小出しに使う直前に宣言するより
まとめて宣言した方が分かりやすい場合も稀にはあるし。
304デフォルトの名無しさん:2007/07/25(水) 22:53:39
private sub hoge

dim i as long
.
200行の下で使ってるやつすらもここで宣言
.
dim hogehoge as hoge

----延々と200行とか

i = 1
hogehoge = new hoge

end sub


こんな感じじゃね?
305デフォルトの名無しさん:2007/07/25(水) 22:54:23
ただのCの名残だろ
負の遺産
306デフォルトの名無しさん:2007/07/25(水) 22:58:53
カウンタ変数をプロシージャの先頭で宣言する意味はほとんどないわな。
使うたびに一々初期化するぐらいなら、ステートメント内で宣言したほうがすっきり。
307デフォルトの名無しさん:2007/07/25(水) 23:01:38
特に途中で ExitSub とかする場合混乱のもとだな
後で見た時とか、何をどこで使ってるのかもうわけわかめ

経験すれば必要な時に必要なものを宣言するようになると思うんだけど
308デフォルトの名無しさん:2007/07/25(水) 23:02:09
>>306
カウンタ変数って初期化いらなくね?
309デフォルトの名無しさん:2007/07/25(水) 23:05:39
初期値のないカウンタ変数をどう使うんだ
310デフォルトの名無しさん:2007/07/25(水) 23:07:15
エスパー的には
宣言した時点で数値なら0に初期化されてるだろ? ってことじゃないか?
311デフォルトの名無しさん:2007/07/25(水) 23:12:13
それはただの規定値だよもんね
312デフォルトの名無しさん:2007/07/25(水) 23:13:23
>>311
いや、俺もそう思うんだがw

つうか だよもんね とかお前かわいいな( ゚Д゚)
313デフォルトの名無しさん:2007/07/25(水) 23:15:12
ステートメント内ってなんぞ?
314デフォルトの名無しさん:2007/07/25(水) 23:18:36
読んで字のごとくじゃないか?
315デフォルトの名無しさん:2007/07/25(水) 23:22:24
>>313

ちょwwwwwwwwwwwwwwww
316デフォルトの名無しさん:2007/07/25(水) 23:37:01
VB.NET2003のRichTextBoxの行番号について質問でうす。

通常の機能じゃ無理で
PARAFORMAT2をEM_SETPARAFORMATで使って
SendMessageでなげる
というのを過去スレで見ました。

試してみたのですが、
数字を右寄せにする方法がわからないのですが
ご存知の方がいらっしゃいましたらご教示お願いします。
しかも何故か空白で改行をすると急に番号が振られなくなります。


また、もっと簡単に左側にラベルを配置して
行番号をふるのも試したのですが
フォントを合わせても行間が違うのでズレが生じてしまいます。
これも結局、EM_SETPARAFORMATを使ってRichTextBoxの行間を
狭めるしかないのでしょうか?
行番号もRIchTextBoxを使えば行間の違いはなくなるのですが
行番号を表示するだけの為にRichTextBoxを使うのはなんか気持ち悪いので。

よろしくお願いします
317デフォルトの名無しさん:2007/07/25(水) 23:39:28
>>316
最初の3行しか読んでないけどこれじゃだめなんだっけ?
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=8248&forum=7
318デフォルトの名無しさん:2007/07/25(水) 23:47:37
残念ながらローカル変数に既定値などというものはない

あ、ごめん規定値だったか…
319デフォルトの名無しさん:2007/07/26(木) 00:01:02
よく覚えてないがC#の話じゃない?
VB.NETはVB6の仕様を一部継承してるからプリミティブ型の値型は
明示的に初期化されない場合既定値になる筈
320デフォルトの名無しさん:2007/07/26(木) 00:26:31
おお!
321308:2007/07/26(木) 00:47:07

dim i as Integer

For i = 0 to 9
Next i

For i = 0 to 99
Next i

だと初期化いらなくね?
322デフォルトの名無しさん:2007/07/26(木) 01:05:12
For がまず真っ先にやることを言ってみろ。
323308:2007/07/26(木) 01:17:16
>>322
まず i に0が代入されて・・・
って初期化は勝手にされるけど

>>306が言った
>使うたびに一々初期化するぐらいなら、ステートメント内で宣言したほうがすっきり。
という言い方から

dim i As Integer

i = 0  ' ※ 一々初期化する } この2行をまとめて
For i = 0 to 9  '        }  For i as Integer = 0 to 9 のほうがすっきり
Next i

っていう書き方してるのかと勝手に想像して
それなら※部分の行いらなくねって言ったわけ。
324デフォルトの名無しさん:2007/07/26(木) 01:23:45
変数を初期化しなかった場合の既定値(2005)

数値型[0]
Char[0]
Boolean[False]
String[Nothing]※
Date[0001年1月1日0:00:00]
Object[Nothing]※

※参照型

これって.NETも一緒じゃないの?
つうか、なにこの浅い議論。


325デフォルトの名無しさん:2007/07/26(木) 01:27:34
つーかC#だと初期化しないとコンパイルエラーだし
326デフォルトの名無しさん:2007/07/26(木) 02:02:01
>>323
カウンタ変数はForステートメントの変数の呼び名で
ForEachやDoLoopで使うループカウンタはカウンタ変数じゃないだろ?ってこと?
327デフォルトの名無しさん:2007/07/26(木) 03:19:25
.NETでは初期化なんてしないし。
初期化を強制してるのはコンパイラだし。
328デフォルトの名無しさん:2007/07/26(木) 09:55:28
VB2005のMySettingで全ユーザ共通で使用しているApplicationDataの値をPGから変更したいんですがいい方法はありませんか?
ApplcationDataじゃなければ各ユーザーごとに違った値になってしまうので嫌なんですが・・・
329デフォルトの名無しさん:2007/07/26(木) 12:24:57
My爺さんはそういう使用法は想定してないと思う。

っていうかMySettingの存在意義が理解できん俺には。
My爺さんなんか使わずに普通にシリアル化使っても手間は変わらないと思うんだけど。。
330デフォルトの名無しさん:2007/07/26(木) 13:56:03
全くの初心者で一通り調べたのですが、わからなかったのでご相談しに参りました。
現在.netでDBはMysql、そしてodbcを用いてデータグリッドにテーブルの情報を表示させたいのですが、
formにデータグリッドを貼り付けて、その後が全くわかりません。

教えてくださいorz
331デフォルトの名無しさん:2007/07/26(木) 14:00:01
1.まずODBCデータソースを作成します。
332330:2007/07/26(木) 14:18:51
その後はなんでしょう?
333デフォルトの名無しさん:2007/07/26(木) 14:19:15
2.フォームに貼り付けたデータグリッドは削除したほうがいいです(あとで自動で作られる)
334330:2007/07/26(木) 14:24:02
了解です、削除しました!
335デフォルトの名無しさん:2007/07/26(木) 14:33:57
で、バージョンを聞こうか?
ここから分岐するw
336デフォルトの名無しさん:2007/07/26(木) 14:37:21
3.IDEのサーバーエクスプローラで新しい接続を追加(ODBCから選択)し、新しいデータ接続を追加します。(VB2005 2003は同じかどうか忘れた)
337330:2007/07/26(木) 14:37:22
.netは2003、mysqlは5.0、でございます!
338デフォルトの名無しさん:2007/07/26(木) 14:40:27
4.おもむろに布団を敷きます。
339デフォルトの名無しさん:2007/07/26(木) 14:41:37
あぁ、2003だったのかw
もうめんどくさいから

3.ツールボックスのデータからOdbcDataAdapterを選んで対象のフォームに貼り付けるとウィザードが出るので選択しつつ進めていきます
340330:2007/07/26(木) 14:47:16
いまのところ順調です!!

341デフォルトの名無しさん:2007/07/26(木) 14:51:29
5.靴下以外を脱ぎます↓
342デフォルトの名無しさん:2007/07/26(木) 14:54:49
VB 2005でLabelコントロールのテキスト描画をフックする方法を
教えて下さい。
343デフォルトの名無しさん:2007/07/26(木) 15:26:59
>>340
で、今どこまで終わったんだっけ?
344デフォルトの名無しさん:2007/07/26(木) 15:32:11
>>342
OnPaintででも、どこでも好きにしてください

>>340
4.データアダプタの作成が終わったら、そのデータアダプタを右クリックしてデータセットの生成クリッコクリッコします。
345デフォルトの名無しさん:2007/07/27(金) 01:38:51
VB.net でメタクラスってどうやって使うの?

Delphiだとこんな感じでかけたんだけど・・・
TAAAClass = class of TAAA;
346デフォルトの名無しさん:2007/07/27(金) 01:44:40
めた暮らすなんてない
しいて言えばリフレクション方面? Typeとか
347デフォルトの名無しさん:2007/07/27(金) 10:56:36
教えて下さい。
あるパネル内にアクセスキー付きラベル 例(&1) があり、パネル外のテキストボックスにあります。
このままですとALT+1キーを押下した場合、フォーカスがテキストボックスに移動しません。
どうすればよろしいでしょうか?
348デフォルトの名無しさん:2007/07/27(金) 11:04:35
データベースからIDや氏名住所などを取得して表示するまではできたんですが
次へボタンを押すと次のデータを表示させていくやりかたを教えてください
349デフォルトの名無しさん:2007/07/27(金) 11:13:11
すみません、助けて下さい。。。

Visual Basic 2005 Express Editionで
timerを使って、設定時間(例えば 11.5秒や30.7秒)毎にカウントを1ずつ増やすプログラムを作っているのですが、
プログラムの表示時間をストップウォッチで計ってみると、プログラム中では19.8秒なのにストップウォッチでは21.67秒だったりとズレが出ています。。。

プログラムは、 timerのintervalを100 変数『i』に0.1を100ms毎に足して、『i』が設定時間と同じになったらカウント『k』に+1を行なうようにしています。
このズレは直せないのでしょうか・・・ 
そもそもこのやり方が間違っているのでしょうか?

350デフォルトの名無しさん:2007/07/27(金) 11:20:40
>>347
>あるパネル内にアクセスキー付きラベル 例(&1) があり、パネル外のテキストボックスにあります。
日本語でよろしく(´・ω・`)

>>348
取得ってのはDataTableにデータを格納したのか?

>>349
ツールボックスにあるTimerの精度なんてそんもんだ。
別のTimerつかいなされ
351デフォルトの名無しさん:2007/07/27(金) 11:23:15
>>349
Tickイベントで処理を行っていると仮定して、
プログラム1行1行を処理する時間もかかるわけで、
秒数(特にmsec単位)を性格に求めるのは難しいのでは?
352デフォルトの名無しさん:2007/07/27(金) 11:24:22
あるパネル内にアクセスキー付きラベル 例(&1) があり、パネルの外にテキストボックスにあります。
このままですとALT+1キーを押下した場合、フォーカスがテキストボックスに移動しません。
どうすればよろしいでしょうか?

これでどう?
353デフォルトの名無しさん:2007/07/27(金) 11:29:36
>>350
他にもtimerあるんですね。。。ちょっと探してみます

>>351
正直0.1sec毎に表示処理とかイロイロやったら遅くなるよなぁ・・・
とは思ったのですがやっぱり影響ありますよね
354デフォルトの名無しさん:2007/07/27(金) 11:41:26
>>353
途中に経過表示などの割り込みを入れる場合や、
インターバルが長い場合はクロックの時刻と組み合わせる。

StartTime = DateTime.Now // で保存しておいて
一定時間ごとのタイマーイベントで 経過時間 = DateTime.Now - StartTimeを計算。
予定の時間以上経過したかどうか確認。
355348:2007/07/27(金) 11:48:57
>>350
そうです
初期画面はID1のデータの氏名住所などが表示されるようにつくりました
356デフォルトの名無しさん:2007/07/27(金) 11:51:37
>>354
なるほど・・・
その方法で作ってみます。

遅くなりましたが皆さんありがとうございます
知恵をお借りできて本当に助かります m(_ _)m
357デフォルトの名無しさん:2007/07/27(金) 12:06:33
>>355
横れすだが
現在表示させているデータテーブルのインデックスわかってるんなら次へボタン押したときに+1したデータテーブルのインデックスの情報表示させればいいんじゃないかな?
こんな単純な方法じゃ駄目?
358348:2007/07/27(金) 12:18:09
そういうやり方で行こうと思ってます
for文使えばいけますかね?
初心者ですいません
359デフォルトの名無しさん:2007/07/27(金) 12:22:58
ボタンクリックイベントで

IF 表示位置 < DataTable.Rows.Count - 1 THEN
表示位置 += 1
ID = DataTable.Rows(表示位置)(ID).Value
名前 = DataTable.Rows(表示位置)(名前).Value
住所 = DataTable.Rows(表示位置)(住所).Value
END IF

でいいんじゃ?
360348:2007/07/27(金) 13:12:07
>>359
表示位置ってのはTextBox1.Textとかのことですよね
エラーで実行できませんでした
361デフォルトの名無しさん:2007/07/27(金) 13:49:15
すみません、わかる方おられましたら、助言をお願いします。
ちょっと長くなってしまいますが、前提から。

今現在、自分のドキュメント作業をExcelをベースに行っており、
また、ドキュメント作成の効率化を進めようとしています。
そのために、Excel VBAで各種マクロを組み、ショートカットキー
にマクロを登録して各種ユーティリティを起動する方法をとって
ます。
この際、個々に作成されるExcelワークブックに個別に処理を記入
していては、無駄なので、一つのワークブックにマクロ記述を集約
させ、つねにそのマクロ用ワークブックを開いておくことで、別の
ワークブックでもマクロ用ワークブックに記載されたマクロを利用
可能としています。

もともとは、Excelのアプリケーションレベルでマクロを作成して、
ワークブックでの操作をしたかったのですが、Excelにはこの機能
がないために断念したためにこういう構成になりました。

しかし、最近ではマクロが大きくなって動作が重いなど厳しい状態
になっているのと、VBAでは開発効率が悪すぎるので、ここをなんと
かしたいと思ってます。そこで、Visual Studio Tools for Office
を導入したのですが、行き詰まってしまっています。そもそも、こう
いうことが出来るのでしょうが。

つまり、やりたいこととしては、
@ Excelのショートカットキーとしてユーティリティが動作する
A 擬似的でもアプリケーションレベルの機能として動く
B 上記のVisualStudioで開発する
ということです。

助言お願いいたします。
362デフォルトの名無しさん:2007/07/27(金) 13:50:09
>>348
表示位置を管理する変数のことですよ。

Dim iSelectRow As Integer = 0 ' 表示位置
Dim tblData As DataTable ' 住所録

tblDataの中にID、名前、住所が入っているとして

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

IF iSelectRow < tblData.Rows.Count - 1 THEN
' 次の行を選択
iSelectRow += 1
' IDの取得
TextBox1.Text = tblData.Rows(iSelectRow)(0).Value
' 名前の取得
TextBox2.Text = tblData.Rows(iSelectRow)(1).Value
' 住所の取得
TextBox3.Text = tblData.Rows(iSelectRow)(2).Value
END IF

End Sub
363348:2007/07/27(金) 14:30:20
>>362
.Valueを消したら次のデータは表示されるようになりました
その次のデータは表示されません
364デフォルトの名無しさん:2007/07/27(金) 15:01:55
>>363
もう、Accessにリンクテーブル作成して直接開いて、検索や追加編集をやってもらえよ。

それが一番まともになるぞ。
365デフォルトの名無しさん:2007/07/27(金) 15:21:31
>>348
だめだ・・・すべてを聞こうとすんなよ
ちったぁ勉強してからじゃないと話にならん
366デフォルトの名無しさん:2007/07/27(金) 15:34:30
>>348
ああ、思いつきで書いたからね。
正しくは、tblData.Rows(iSelectRow)(0).ToStringだね。
367デフォルトの名無しさん:2007/07/27(金) 15:54:42
>>366
tblData.Rows(iSelectRow)(0).Value.ToStringだ
368デフォルトの名無しさん:2007/07/27(金) 16:06:18
初心者なんだからむしろItemも書いておいてやれよwwww
369デフォルトの名無しさん:2007/07/27(金) 22:43:37
>>352
>テキストボックスにあります

ここが悩ましいんだよ!w
370名無しさん@そうだ選挙に行こう:2007/07/29(日) 13:18:35
アホみたいな質問かもしれませんが、画像を表示するのに

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim g As Graphics = Me.PictureBox1.CreateGraphics()
        Dim bg As Image = My.Resources.back
        g.DrawImage(bg, New Point(0, 0))

    End Sub

だと表示されないのに、これを

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim g As Graphics = Me.PictureBox1.CreateGraphics()
        Dim bg As Image = My.Resources.back
        g.DrawImage(bg, New Point(0, 0))

    End Sub

のようにボタンを押したら実行するとちゃんと表示されるんですが何故?
フォームのロードもボタンクリックも同じようにコードが実行されるんじゃないんですか?
371名無しさん@そうだ選挙に行こう:2007/07/29(日) 13:23:16
まあ自分でいってるようにそれは君自身がアホだから。
なんで質問する前にちったあ自分で勉強しようとは思わないんだ?
372名無しさん@そうだ選挙に行こう:2007/07/29(日) 15:33:26
VB初心者なのですが、学校の課題でプログラムを組むのですが、
自分じゃよくわからないので誰か作って下さいますか?

環境はVB2005です
ttp://pict.or.tp/
[13293.doc}課題3.doc
[13292.doc]課題4.doc
373デフォルトの名無しさん:2007/07/29(日) 15:43:46
>>372
ちなみに、学校って何の?もしかして中学校とかじゃないよね??
374名無しさん@そうだ選挙に行こう:2007/07/29(日) 15:47:41
>>373
高校の夏休みの課題です
375名無しさん@そうだ選挙に行こう:2007/07/29(日) 15:51:21
>>374
よし、俺にまかせとけ!!
376名無しさん@そうだ選挙に行こう:2007/07/29(日) 16:01:32
>>374
ところで提出日はいつ?何月何日?
377名無しさん@そうだ選挙に行こう:2007/07/29(日) 16:10:46
登校日の7月31日までです
378名無しさん@そうだ選挙に行こう:2007/07/29(日) 16:51:49
>>377
これ、小数とか負の数だったらどうするの?
379名無しさん@そうだ選挙に行こう:2007/07/29(日) 17:18:13
課題3って製品名入力する意味あるのか?
380372:2007/07/29(日) 18:01:20
>>378-379
そうゆう、細かい突込みはなしで(汗


381名無しさん@そうだ選挙に行こう:2007/07/29(日) 18:12:48
>>380
じゃ、細かいことは気にしないで作ってみました。
>>372と同じロダ [13311.zip] 課題4ね。
382名無しさん@そうだ選挙に行こう:2007/07/29(日) 19:03:28
>>370>>302の扱いの落差にワロタ
383名無しさん@そうだ選挙に行こう:2007/07/29(日) 19:13:16
クラスなんか使ったら代作がバレないな心配w
384名無しさん@そうだ選挙に行こう:2007/07/29(日) 19:31:05
とりあえず、課題を見たら>>372が最初からやる気ゼロだということがわかったw
385名無しさん@そうだ選挙に行こう:2007/07/29(日) 19:33:57
>>382
間違えた
>>370>>372
386372:2007/07/29(日) 19:35:22
>>381
サンクスです
でもクラス使ってるとバレるな、まだ習ってないし
387名無しさん@そうだ選挙に行こう:2007/07/29(日) 19:44:40
>>386
関数は?
388名無しさん@そうだ選挙に行こう:2007/07/29(日) 19:52:10
>>386
今は高校でVBやるんだ
工業系?
389372:2007/07/29(日) 20:10:50
>>387
関数はやったけど、クラスは初心者向きじゃないのね教科書にも載ってない
>>388
工業の情報系です
390デフォルトの名無しさん:2007/07/29(日) 20:28:09
>自分じゃよくわからないので誰か作って下さいますか?

おまぃら・・・PGかSEかしらんがこんなの手伝うなよ・・・・
意味がないだろ
お前らが手伝ってるってことは 将来の無能SEやPGを育ててることとそう変わらないんだぞ
391デフォルトの名無しさん:2007/07/29(日) 20:31:26
ていうか何で情報系に行ったの?
392デフォルトの名無しさん:2007/07/29(日) 20:34:21
>>389
[13334.zip]

>>390
後でプログラムの説明が出来なくて困るのは>>372だしいいんじゃね?
393デフォルトの名無しさん:2007/07/29(日) 20:42:10
>>392
そうだよねw

つうか、他の人のソースどんなかな?とかって見ててリアルにコーヒー吹いたwwwww
俺のコーヒーかえせwwwwww
394デフォルトの名無しさん:2007/07/29(日) 20:44:44
>>393
なんで?
395デフォルトの名無しさん:2007/07/29(日) 20:47:37
>>394
おま・・・計算結果の書式フォーマットいじってるところのコメント見ろ
396デフォルトの名無しさん:2007/07/29(日) 20:52:16
追伸
Kadai4\Kadai4\frmClac.vb
の40行目だ
397デフォルトの名無しさん:2007/07/29(日) 20:55:20
ちょwww
398デフォルトの名無しさん:2007/07/29(日) 20:57:33
これを素で書いてたんだとしたら・・・・
>>392はものすごい欲求不満
399デフォルトの名無しさん:2007/07/29(日) 21:07:27
>>372が気づかないでそのまま提出したら面白かったのに・・・
400デフォルトの名無しさん:2007/07/29(日) 21:09:19
>>399
なぁに
どうせ読んでないから気づきゃしないさ
というのを期待したい
401デフォルトの名無しさん:2007/07/29(日) 22:25:55
Wordファイルの素性に言及しない
おまいらの優しさに泣いた
402デフォルトの名無しさん:2007/07/29(日) 23:05:05 0
>>401
他の板じゃあるまいし
そんなものに興味はない
403デフォルトの名無しさん:2007/07/29(日) 23:46:15 0
おまいら人によって態度変えるのやめろよ。
>>370, >>371 をみてみろよ。
404デフォルトの名無しさん:2007/07/30(月) 00:05:47
>>403
説明するより、コード書いてた方が楽だから
405デフォルトの名無しさん:2007/07/30(月) 00:32:02
>>403
少なくとも371は俺だが、俺は学生クンは一切シカトしてたから一貫はしてるよ。
他人にまでそれを強制するつもりはないが。
406デフォルトの名無しさん:2007/07/30(月) 00:51:29
C#スレみたいに本スレとふらっとスレみたいに分けるべきなのかもね
でも、そしたらほとんど初心者スレに逝け、で終りかもなのね
407デフォルトの名無しさん:2007/07/30(月) 00:54:28
この場合、スルーすればよいだけなのにレスした>>405の性格の悪さが問題なんだろうw
気持ちはわかるが書いてはダメだ。
408デフォルトの名無しさん:2007/07/30(月) 01:19:34
>俺は学生クンは一切シカトしてたから

シカトしてない件について
409デフォルトの名無しさん:2007/07/30(月) 09:56:30
>>389

自分で情報系入ったわけだから、宿題丸投げとか、ありか?

宿題の言語が多過ぎでそのうちの一部がやりきれないとかならわかるけどね・・・
410デフォルトの名無しさん:2007/07/30(月) 10:04:04
同じ画面でモードを切り替えたいんですがどうしたらいいんでしょうか?
411デフォルトの名無しさん:2007/07/30(月) 10:41:15
>>410
大局変数を使え。
412デフォルトの名無しさん:2007/07/30(月) 10:58:30
あるパネル内にアクセスキー付きラベル 例(&1) があり、パネルの外にテキストボックスがあります。
ALT+1キーを押下した場合、フォーカスがテキストボックスに移動しません。
アクセスキーを使用してフォーカスをテキストボックスに移動させるにはどうすればよろしいでしょうか?
413410:2007/07/30(月) 11:00:43
>>411
ぐぐったけどわかりません
414デフォルトの名無しさん:2007/07/30(月) 11:23:35
>>410
意味がわかりません。
なんのモードなのか?
415デフォルトの名無しさん:2007/07/30(月) 11:53:51
>>412
アクセスキーは同じコンテナ内じゃないと無理だと思う。
同じパネル内に入れない理由は何?
どうしても両コントロールをパネルの内外に置かなければならない理由があるなら、
FormのKeyPressイベントとかで擬似的にアクセスキー押下の挙動を作るしかないんじゃないかな。
416410:2007/07/30(月) 11:58:57
>>414
照会、新規、修正モードです
417デフォルトの名無しさん:2007/07/30(月) 12:02:42
質問させてください。
TabControlにて見出しの背景色を変更したいのですが、調べたところ
DrawModeをOwnerDrawFixedにして自分で描画する方法が見つかりました。
そこでDrawModeをOwnerDrawFixedにしてみたらTabControlのVisualStyleが
無効になってしまいました。
VisualStyleを有効にしたまま見出しの背景色を変更する方法ってありませんでしょうか。
418デフォルトの名無しさん:2007/07/30(月) 12:05:24
>>416
お前頭腐ってねえか?
照会、新規、修正モードとか言われても、こっちにはわかるわけないだろ?w
419デフォルトの名無しさん:2007/07/30(月) 12:09:56
347=372?
420デフォルトの名無しさん:2007/07/30(月) 12:46:36
>>415
thx

パネルは装飾用に使っていたんだけど、やっぱり無理か。
LabelのPaintイベントでやるしかないな。
421デフォルトの名無しさん:2007/07/30(月) 12:47:54
>>410
手っ取り早い方法としてTabControl使えば?
422デフォルトの名無しさん:2007/07/30(月) 13:14:14
>>420
装飾に使っているだけなら、デザイナいじってパネルの上にラベルを乗せる(パネルのアイテムには含めない)ってのはどうよ?
423デフォルトの名無しさん:2007/07/30(月) 13:51:55
>>422
ちなみにユーザーコントロールにしても同じだよね?
424デフォルトの名無しさん:2007/07/30(月) 13:58:00
>>423
何が同じ?
いちいち言葉抜かんでくれ。口で会話してるんじゃないんだから。
425デフォルトの名無しさん:2007/07/30(月) 14:04:01
>>417
VisualStyleも含めて自分で描画する
426417:2007/07/30(月) 14:36:37
>>425
どこにどういうふうに記述すればよいのでしょう…。
tabcontrolにはPaintイベントがありません。
DrawItemイベントはDrawModeがOwnerDrawFixedの時にしか起こらないようです。
427410:2007/07/30(月) 16:00:04
>>421
ラジオボタンで切り替えたいんです
ラジオボタンをチェックするとIDや氏名欄は空白にしたいんです
428デフォルトの名無しさん:2007/07/30(月) 16:10:50
>>427
だからお前頭腐ってるだろ?

>ラジオボタンで切り替えたいんです
>>410の時点でそんなことは一言も言っていない

>>416といい、>>427といい、こっちはそっちがどういうモノを作っているのか、
どんなコントロールを使用しているのか、どういう仕様にしたいのか、何一つ知らないんだぜ?
いきなり何モードにしたいだの、何を空白にしたいだの言われても解かるわけねーだろ。
まず、質問の仕方から勉強して来い。
429デフォルトの名無しさん:2007/07/30(月) 16:22:57
ツールバーからデバッグ→開始を選ぶと、「Debugger userグループのメンバーである事を確認してください」と
出て、ソフトのデバッグが出来ません。
使っているOSはWindowsVistaHomePremium、
adoministrator権限を持ったユーザーアカウントを使っています。
他のPCとは接続していません。
430デフォルトの名無しさん:2007/07/30(月) 16:25:51
>>427
仕様を書け。
431デフォルトの名無しさん:2007/07/30(月) 17:23:04
>>427
どうしようか?ww
432デフォルトの名無しさん:2007/07/30(月) 17:32:50
入力項目貼り付けてラジオボタンのChangeイベントで項目のVisible切り替えればええがな

>>410

とりあえず
条件別に表示が必要な項目をあげてみろよ
433デフォルトの名無しさん:2007/07/30(月) 18:05:24
もう放っておこうよw
434434 ◆nf55XyzMAg :2007/07/30(月) 19:04:09
ちょっと聞いてくださいよみなさん。
スレとあんま関係ないんだけど。

VB.Netで特殊なメモ帳を今作っています。
DBを用いたメモ帳なんですけど、
開いた時にアカウントの選択ダイアログが出て、選択したアカウントのメモグループをツリービューに表示するのです。
メモグループをクリックするとそれに関連付けられた、メモの一覧が出てきます。
一覧のメモをクリックするとメモした文字列とファイルを別ウィンドウに表示するものを先輩と作っています。

本題は実際にはこのソフトのメモグループはミドル、メモ本体はディティールというのですが、先輩はミドルを親、ディティールを子と呼んでいます。
ではツリービューの+マークの付いている行やその下のすこし横にずれている行をなんというのでしょうか?
先輩は親、子と呼んでいますが、ミドルに属していないディティールもあるのでそれを親の無い子って呼んでるんです。
いくら「ミドルですよ。」「ディティールですよ。」っていっても罵倒雑言の嵐。
本でツリービューの+マークの付いている行やその下のすこし横にずれている行を親、子って説明しているんです。

先輩が間違っているのか本が間違っているのか教えてください。お願いします。
435デフォルトの名無しさん:2007/07/30(月) 19:10:10
436デフォルトの名無しさん:2007/07/30(月) 20:01:47
おい、貴様ら。

もうそろそろ、>>370に手を差し伸べてはいかがですか?
437デフォルトの名無しさん:2007/07/30(月) 20:52:38
彼にとっては突き放されることこそが最大の援助だろう。真面目な話。
というかこの程度の問題を自分で解決できないなら(以下略
438デフォルトの名無しさん:2007/07/30(月) 21:00:01
>>436 = >>370 ?
わからないから違うかも知れないけど、
Loadで書いたプログラムでは「一度描画されているが消えている」んだと思う。
Clickで描画したものも他のウインドウを手前に持ってくるとその部分消えるし。
439370:2007/07/30(月) 21:24:05
>>438
いや436は私じゃないです

>Clickで描画したものも他のウインドウを手前に持ってくるとその部分消えるし。

本当だ、消えますね?
HSP厨から卒業しようと思ってVB Expressの勉強始めたんですが全然勝手が違いますねえ
何で命令使うのにいちいちdimで宣言するのかすら分からない
何の利点があるんだろ?

>>437
入門書見ながら頑張ってみます
 
440デフォルトの名無しさん:2007/07/30(月) 21:36:17
>>439
たぶんその宣言でメモリ領域を予約するためだ
つうか、普通の言語はどれもそういう宣言があるんだよ

宣言強制しとけば間違った使い方もなくなるし
VB6みたく2005でも変数宣言の強制はオプションではずせるんじゃなかったっけか・・?
俺は絶対いやだけど
441デフォルトの名無しさん:2007/07/30(月) 21:38:55
回答がついた途端に>>370が出てきたのにワロタ
ずっと見てたなら質問しなおせばいいのに。
442436:2007/07/30(月) 21:46:55
>>439
ヒント:CreateGraphicsメソッドは描画、画像表示はImage.FromFileメソッド
443デフォルトの名無しさん:2007/07/30(月) 21:47:51
>>440
変数は分かるんですけど、
        Dim g As Graphics = Me.PictureBox1.CreateGraphics()  
        g.DrawImage(bg, New Point(0, 0)) 
何故DrawImageを使うのにgという変数?を宣言するのかがわからんです

>>370の件、timerイベントで試してみたけど表示されなかった
イベントによって同じコードでも動き方が違うのか?

>>441
いやそんなふいんきじゃなかったんで・・・・・・


444デフォルトの名無しさん:2007/07/30(月) 21:54:07
>>442
描画と表示は別なんですか
ありがとう、がんばって調べてみます

しかしじゃあ何でボタンの時だけ表示されるんだろう?
全部表示されないなら分かるが
445デフォルトの名無しさん:2007/07/30(月) 21:58:29
370の人
本当真面目に勉強したほうがいいよ。
GDI+(というかWindowsの描画の考え方)は別に難しくない。
っていうか、どぼんとか@itとか、今時初歩的な内容ならタダで親切な解説が
いくらでも読めるのになんでいきなり「掲示板で質問」とか短絡するんだろう。

>>442
おいおいいい加減なこと吹き込むなよお馬鹿さん。
なにがヒントだw
446436:2007/07/30(月) 22:07:15
>>445
ん?

ピクチャボックスに画像表示でしょ?

PictureBox1.Image = Image.FromFile()

プロジェクトリソースの場合は

PictureBox1.Image = My.Resource.リソース名

CreateGraphicsはPaintイベント使わないと消えるんじゃないの?
CreateGraphics自体あんまり使わないから詳しいことは知らないけど。
馬鹿アホ呼ばわりされてもいいけど、きちんとどこを指してるのか
指摘してくれないと困る。
447デフォルトの名無しさん:2007/07/30(月) 22:07:17
>>455
何で同じコードなのに?という疑問が先にたって書き込んでしまいました
すいません
紹介していただいたサイト見て勉強します
448デフォルトの名無しさん:2007/07/30(月) 22:10:33
>>446
ピクチャーボックスのImage プロパティにImageを設定するやり方は
あくまで(コスト度外視で)簡易的に画像を表示する方法であって王道ではない。

もしこれが言いがかりだと思ってるなら君も初歩から勉強が足りなすぎるよ。
449436:2007/07/30(月) 22:14:28
>>448
何を勝ち誇ってるのか知らないけど
どういう方法を選択するのかを決めるのはプログラマでしょ?
>>370ぐらいの初心者にそういうアドバイスは
あなたの単なる自己満足でしょ。

あなた回答もしないのに性格極悪だね。
450デフォルトの名無しさん:2007/07/30(月) 22:18:51
>>449
地獄への道は善意で舗装されている、という言い古された言葉をしらないのか君は。
451370:2007/07/30(月) 22:24:03
自分のせいで雰囲気悪くなってすいません
452436:2007/07/30(月) 22:24:30
>>450
だから、そういう抽象的な自己満足ならレスしないでよ。
>>442をどう解釈するかは>>370なんだって。
>>448の主張こそ>>370を縛る「善意の舗装」だってどうして気づかないわけ?

某スレにも回答しないのに回答者にダメ出しばっかりしてる人がいるみたいだけど
あなたじゃないの?
453デフォルトの名無しさん:2007/07/30(月) 22:28:16
>>448
ちょいまて。
PictureBox.Image を使うのが王道でないならそもそも PictureBox を使う意味なんか一切ない。
ということを踏まえての発言だよな?
454436:2007/07/30(月) 22:29:28
>>451
ああ、気にしないでがんばって。
455438:2007/07/30(月) 22:30:51
>>448
その王道のやり方を教えてください。
456370:2007/07/30(月) 22:36:35
議論の沈静化になるか分かりませんが、>>370は画像の重ね合わせのサンプルを
参考にしたもので、本ではその後別の画像を透過色を指定して描画しています
試しにまず一枚描画したとこformのロードイベントでは表示されなかったので質問した次第です

457デフォルトの名無しさん:2007/07/30(月) 22:44:38
>>456
いつもこんな感じだから別にあなたのせいじゃないよw
458デフォルトの名無しさん:2007/07/30(月) 22:52:26
>>453
なんでそういう風に短絡するかね。

たとえ話で言えば、スナップショットを撮るときにコストを度外視していつもポラロイドを
使う奴がいたらそいつは馬鹿だが、だからといってポラロイドの価値がゼロってわけじゃない。

たとえばスプラシュスクリーンとかバージョン情報のダイアログにPictureBoxを
使うのが悪い選択とは俺も思わない。

ただ、王道をスキップしてコスト高の手抜き手法のみ教えるのは馬鹿だといってるだけね。
459デフォルトの名無しさん:2007/07/30(月) 22:56:58
>>458
君の論理の飛躍のほうが世間的には受け入れられないと思うが・・・
460デフォルトの名無しさん:2007/07/30(月) 22:58:49
とりあえず 458 が日本語に不自由な人だというのは分かった。
からもういいや。
461デフォルトの名無しさん:2007/07/30(月) 23:12:21
で、結局王道のやり方ってなに?

Private bg As Image = My.Resources.back

Private Sub PictureBox1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
    e.Graphics.DrawImage(bg, New Point(0, 0))
End Sub

でいいの?
462436:2007/07/30(月) 23:23:33
たぶんExcelスレで初心者を煽り倒してる人でしょう。
全部文章で1行も回答しないところも一緒。
こっちでも玄人のフリできると思ったのかな。
463デフォルトの名無しさん:2007/07/30(月) 23:37:32
>>462
下らん。
そういうのを「逆ギレ」という。

もし反論があるのなら俺の言った内容に関して反論してくれ。
PictureBoxのImageプロパティを使う方法は画像の描画方法としては邪道の部類。
これ間違ってる?

エクセルスレなんて行ったこともないが、仮に俺がそのエクセルスレの人物と
同一人物だったら何だというのだw
464デフォルトの名無しさん:2007/07/30(月) 23:48:34
>>463
>これ間違ってる?

もっと自信もちなよ。

>エクセルスレなんて行ったこともないが、仮に俺がそのエクセルスレの人物と
>同一人物だったら何だというのだw

時にこういう開き直りも大事だと思うよ。

ごめん、勉強があるから。
465デフォルトの名無しさん:2007/07/31(火) 00:19:19
>>463は王道なコードをびしっと書いて終わりにすればいいのに。
466デフォルトの名無しさん:2007/07/31(火) 07:41:55
>463
王道コードプリーズ
467デフォルトの名無しさん:2007/07/31(火) 07:44:35
>>463
王道!王道!王道!
468デフォルトの名無しさん:2007/07/31(火) 07:47:34
王道!が流行しそうじゃないかw
469デフォルトの名無しさん:2007/07/31(火) 08:44:16
370がなんだかいじらしく思えたきたw
おそらく超初心者だな
最初は疑問だらけだろうがガンガレ
470デフォルトの名無しさん:2007/07/31(火) 08:56:57
>>463
俺にもその「王道」とやらのコードを教えてくれないか。
後学のためにぜひともお願いしたい。
471デフォルトの名無しさん:2007/07/31(火) 09:14:21
>>463
王道よろしく
472デフォルトの名無しさん:2007/07/31(火) 09:38:15
王道を見せてくれると聞いたので 嘔吐しそうですがやってきました!!!!
473デフォルトの名無しさん:2007/07/31(火) 09:45:12
ゴッチが死んだのに、なんで全日の話題に走る?
ストロングスタイルのコードを見せろよ。
474デフォルトの名無しさん:2007/07/31(火) 09:46:17
imageプロパティがコスト度外視ってのが理解できない。
どういうこと?
475デフォルトの名無しさん:2007/07/31(火) 09:49:41
プログラムでいうコストって表現は何を示すのだ?
処理の早さ?
476デフォルトの名無しさん:2007/07/31(火) 09:51:07
実行時間コスト?
リソースコスト?
金額コストw
手間(作成こすと?)?
477デフォルトの名無しさん:2007/07/31(火) 09:54:29
とりあえず>>463の王道見てからにしようぜ
478デフォルトの名無しさん:2007/07/31(火) 11:33:45
>>463
>これ間違ってる?
「それを邪道とするのが一般的だ」という主張であれば、間違ってますね。
そもそもそんな瑣末なコストを気にしなければならないシチュエーションで
VB.NET なんか使う奴は莫迦です。
479デフォルトの名無しさん:2007/07/31(火) 12:27:34
まあ馬鹿な連中っていうのはこうやって自分自身の居場所を自分で破壊するんだな。

こういうくだらないレスが連続すれば、回答者側に回るポテンシャルの持ち主ほど
必然的にここに来なくなる可能性が高いことぐらい理解できないほど馬鹿なのかね。

それとも、昔話のサソリみたいに、自分も沈むと分かっていても自分が乗ってる
蛙を刺さずにはいられない類の精神の病み方をしているのか。

たぶん両方だろうね。
480デフォルトの名無しさん:2007/07/31(火) 12:40:53
>>479
御託はいいから早く王道書いてよ
481デフォルトの名無しさん:2007/07/31(火) 12:50:11
>479
その高いポテンシャルのコードを見せてくれ
482デフォルトの名無しさん:2007/07/31(火) 12:53:27
>>479
お前にぴったりのスレがあるぞ

http://pc11.2ch.net/test/read.cgi/tech/1179394713/
483デフォルトの名無しさん:2007/07/31(火) 14:08:42
ヤフオクの注目を一括して設定したいのですが、ちょっとご意見を聞かせてください
1.出品一覧を取得しGridに表示
2.SHDocVw.InternetExplorerを使ってソースを読み取りStringReaderに展開(innerHTML)
3.1行づつ読み込み、設定
という流れで処理していますが、3で無理やり感がしています。
特に3での処理が長くいので、連続してやっていくとエラーが良く出るのです。

スマートでエラーが出にくい書き方ってありますか?
484デフォルトの名無しさん:2007/07/31(火) 14:31:24
>>479
王道!王道!王道!
485デフォルトの名無しさん:2007/07/31(火) 15:15:12
あるテキストの最後が改行コードかどうかを調べるにはどんなかんじのプログラムを書くの?
486デフォルトの名無しさん:2007/07/31(火) 15:57:03
とりあえず改行コードは何を使うのか聞こうか
487デフォルトの名無しさん:2007/07/31(火) 16:49:16
古いVBを引きずっていいよ派:
  If Right(hoge, 2) = vbNewLine Then
VB.NET なんだからさ派:
  If hoge.EndsWith(Environment.NewLine) Then
まあその前に >>486 か。
488デフォルトの名無しさん:2007/07/31(火) 17:25:02
>>445>>448>>450>>458>>463>>479

プログラムスレなのに文系丸出しじゃないですか
まさに王道ですね
489デフォルトの名無しさん:2007/07/31(火) 17:26:50
まだやってるのか
双方とも厨まるだし
490デフォルトの名無しさん:2007/07/31(火) 17:44:37
王道!王道!王道!
491デフォルトの名無しさん:2007/07/31(火) 17:52:45
NewLineとCrLfの違いは?
492デフォルトの名無しさん:2007/07/31(火) 18:25:56
みたまま全然違うじゃん
493デフォルトの名無しさん:2007/07/31(火) 18:42:02
vbNewLine と vbCrLf は等価。
vbCrLf と vbCr & vbLf も等価。
Environment.NewLine と vbNewLine は Windows では等価。
494デフォルトの名無しさん:2007/07/31(火) 20:20:32
ちょっと王道でラーメン食ってくる
495デフォルトの名無しさん:2007/07/31(火) 20:50:24
じゃ俺、尿道に割り箸突っ込んでくる
496デフォルトの名無しさん:2007/08/01(水) 10:01:34
ToolStripのボタンの、ドロップダウンのボタン、
ToolStripSplitButtonやToolStripDropDownButtonに、
選択中を示す「Chekedプロパティ」みたいなのってないんでしょうか?
ToolBarから移行しようと思ったんですが、にんともかんとも…。
ってか、この2つ、見た目(分かれてる)以外に何が違うの?
497デフォルトの名無しさん:2007/08/01(水) 10:12:02
VB.Net2003でWinアプリを開発してます。

ListViewを使用してアイコン表示してるのですが、場合により
そのアイコンに記号を重ね合わせて表示したいのです。

たとえていうなら、Explorerでショートカットファイルはオリジナルファイルの
アイコンと、ショートカットを示す小さな矢印アイコンが合成される、あのイメージです。

あらかじめ使用するだけのアイコンをすべて用意しておいて、ImageListに埋め込んでおけば
いいのかもしれませんが、そういうわけにもいかないので・・・。

具体的にやりたい方法は、
 FormLoad時にListViewの各種ImageListを設定
 それらのImageListにはImage.FormFileで動的に取得
 条件により小さな記号を重ね合わせて表示
てな感じです。

.Net1.1のListViewではオーナードローは無いみたいですし、2.0にはまだ移行できない現状ですし・・・。
何か良いアイディアがあれば教えてください。
498496:2007/08/01(水) 10:59:57
普通のToolStripButtonの横に、
イメージをクリアしたToolStripDropDownButtonを配置することで、
希望していたものが作成できそうです。
どうもお騒がせしました。
499デフォルトの名無しさん:2007/08/01(水) 11:52:40
>>497
ListView.ImageListを切り替えて使うのはどう?

If ある条件 Then
TreeView1.ImageList = ImageList1
Else
TreeView1.ImageList = ImageList2
End If
500497:2007/08/01(水) 12:09:25
>>499
レスありがとうございます。

やりたいのは、動的に生成したImageListと、ListViewItemの状態により
記号の付加です。

付加したい記号は固定なのでImageListにしてしまおうと考えています。

つまり、動的に生成したImageListでListViewItemを表示し、そのListViewItemの
 状態が1なら○
 状態が2なら△
 状態が3なら×
 状態が0なら記号なし
みたいに状態をあらわす記号を付加してListViewItemに表示したいのです。

言いたいことが伝わりますでしょうか?
501デフォルトの名無しさん:2007/08/01(水) 13:08:22
>>500
記号を付加したアイコンをその都度作成するしか方法はないんじゃない?
502497:2007/08/02(木) 14:01:16
>>500
レスありがとうございます。
やはりそうなりますよね・・・。
ListViewのアイコンにレイヤみたいなのが使用できればよかったんですけど。
ありがとうございました。
503デフォルトの名無しさん:2007/08/02(木) 18:49:40
やや漠然とした質問で申し訳ないんだけど、
ComboBoxのOnDrawItemの中で、DrawItemEventArgsのGraphicsプロパティではなく、
あえてComboBox.CreateGraphicsでGraphics取得して描画した場合何か想定される
問題ってあるかな?

そもそもそんなことする必要ないだろ、って突っ込みがきそうですが、
説明すると長くなるので省略しますがとにかくその必要はあるのです。

こういうのは結局Win32に明るくないとよくわからない。
504デフォルトの名無しさん:2007/08/02(木) 19:34:47
ダブルバッファにしたときはまる。
やらないだろうけど。
505デフォルトの名無しさん:2007/08/02(木) 20:11:33
リストビューで列ヘッダーのサイズ変更を禁止にするにはどうすればよろしいでしょう?
506デフォルトの名無しさん:2007/08/02(木) 20:31:53
>>504
よかったら詳しく。
それと、それは(Win9xの場合も含めて)通常は問題ない、という意味にとっていい?
507デフォルトの名無しさん:2007/08/03(金) 12:16:54
うわぁぁぁああ!

ビルドしたら突然IDEが落ちる!!!
DebugでもReleaseでもIDEが落ちる!!!!

さっきまで普通にビルドできていたのに!
そういや全てのフォームのリソースがどうのこうのってビルドエラーが1回でたな・・・

どうやったらビルドできるようになるんだ!?!?
508デフォルトの名無しさん:2007/08/03(金) 12:32:47
空のプロジェクトでも落ちるん?
509デフォルトの名無しさん:2007/08/03(金) 12:35:34
>>507
前にもどこかに書いたけど、WinFormのGUI部品を継承したクラスで妙なことやってると
そういった現象が発生する場合はあるみたいだ。
510デフォルトの名無しさん:2007/08/03(金) 13:42:09
VS2003です.
フォームを閉じるとき,その操作が(戻るボタンなどの)ボタンによるもの
なのか,それともフォームの閉じるボタンによるものなのかを判定するには
どうしたらよいでしょうか?

ボタンが一つ(btnBackとする)なら,Closingイベントで, If sender Is btnBack Then〜
とできるのですが,ボタンが複数ある場合はどうしたらいいでしょう?
511510:2007/08/03(金) 13:58:34
すみません,下2行は無視して下さい.
senderはどちらにしても該当フォームになるんでしたね.
512デフォルトの名無しさん:2007/08/03(金) 14:18:25
513デフォルトの名無しさん:2007/08/03(金) 15:09:42
VB.NET2005で最終完成でこれいじょうバージョンアップのときに購入させられることありませんよね?
514510:2007/08/03(金) 15:23:51
>>512
ありがとうございました.けっこう面倒なんですね…
515デフォルトの名無しさん:2007/08/03(金) 16:11:27
>>513
何言ってんだ。
OSも開発環境も、買わせる為にバージョンアップを繰り返してるってのに。
516507:2007/08/03(金) 16:49:28
原因はなんなんだろうなぁ・・・

ビルドしたかったプロジェクトを含むソリューションには複数のプロジェクトがあったんだけど
とりあえず今ビルドしたかったプロジェクトだけを含むソリューションを1つだけ作成して
ビルドしたら正常にビルドできて普通に動作してるよorz

これ以外のプロジェクトもそれぞれ単体でビルドすればイケるんだけど、
まとめてあるソリューションを開いてビルドすると落ちる・・・

>>509
kwsk
517デフォルトの名無しさん:2007/08/03(金) 18:31:30
>>516
だからさ、もしプロジェクトで自作の継承コントロールとか複合コントロールを
使ってるならそいつが臭いかもよ、って話よ。

ただ、俺の経験した現象は、その自作のコントロールを使ってるフォームを
デザイナで開くとIDEが落ちる落ちる、というものだったけど。

もちろん落ちるのはその自作コントロールのコードに問題があるからであって、
意味なくやたらと落ちるわけじゃないけどね。
518デフォルトの名無しさん:2007/08/03(金) 21:10:36
>>517
さんくす。

確かに自作コントロールを使用しているプロジェクトはあるんだけど、
そのプロジェクト単体のソリューションではちゃんとビルドできるんだ。

で、結局、新規に空のソリューションを作成してから今までの各プロジェクトを
追加したら普通にビルドできるんでやんのw

>>517みたいにデザイナで開くとIDEが落ちる、というのとはちょっと現象が
異なっているんよ。

原因はわかっていないけど、とりあえず今は正常にビルドとかできてるし
なんとかこのまま乗り切れたらいいのになぁ。
原因が解明できてないのでまた同じ現象に陥ることもあるかもしれないけど。
519デフォルトの名無しさん:2007/08/03(金) 21:48:09
余計なお世話だろうけど、寝た子は起こして原因は究明しといた方が
後々安心だよ。

とりあえず別のPCにIDEインストールして「落ちる」リソルーションを読ませて
確認することで、原因が環境にあるのかプロジェクトにあるのかの切り分けはできるでしょう。
520デフォルトの名無しさん:2007/08/03(金) 22:16:55
WebBrowser上のマウスの座標を取得する方法を教えてください。
521デフォルトの名無しさん:2007/08/03(金) 22:17:41
Control.MousePosition で充分だろ
522デフォルトの名無しさん:2007/08/03(金) 22:21:54
exeのアイコンを取得したいんですけど、
Icon.ExtractAssociatedIconでは複数のアイコンが含まれたexeから
2番目以降のアイコンを取得することは出来ますか?
523デフォルトの名無しさん:2007/08/03(金) 22:29:54
>>521
WebBrowser上のマウスの座標を取得する方法を教えてください。
524デフォルトの名無しさん:2007/08/03(金) 22:56:35
>>522
無理 頑張ってWin32API
Webを探せば余裕で見つかりそうだが
525デフォルトの名無しさん:2007/08/03(金) 23:08:44
>>524
dクス

あちゃーWin32か…
ちょっと頑張ってみます
526デフォルトの名無しさん:2007/08/05(日) 13:12:35
教えてください。
ControlPaint.DrawCaptionButtonで、閉じるボタンなどの描画ができますが、
ビジュアルスタイルを適用していないボタンしか描画できません。
ビジュアルスタイルが適用された閉じるボタンを描画する方法はありますでしょうか?
よろしくお願いします。
環境はVB2005 Expressです。
527デフォルトの名無しさん:2007/08/05(日) 22:30:13
VisualStyleRenderer and VisualStyleElement
528デフォルトの名無しさん:2007/08/05(日) 22:46:57
おおー2.0からそんなクラスが追加されてたのか知らなかった
529デフォルトの名無しさん:2007/08/06(月) 00:51:43
JAVAみたいにArrayListで、
A = list(cnt++)
B = list(cnt++)



みたいな感じで取得できませんか?
530デフォルトの名無しさん:2007/08/06(月) 01:34:30
自分でラップしてそういうクラス作るだけじゃないか。
531デフォルトの名無しさん:2007/08/06(月) 07:59:33
コンボボックスのボタンで開くようなポップアップウインドウのようなものを
作りたいのですがうまくいきません。
縁無しウインドウをモーダルで開くとそれっぽく見えるのですがタスクが移動して
しまいコンボボックスのそれとは違うようです。
良い方法がありましたら教えて下さい。
532526:2007/08/06(月) 10:23:16
>>527
でけましたヽ(´ー`)ノヒントありがとー!

>>528
自分も全然。
533デフォルトの名無しさん:2007/08/06(月) 16:15:06

皆さん教えてください、よろしくお願いします。
MessageBox のように戻り値を持つFormを作成するにはどのようにすればよいでしょうか。
何かそれように使える特定のクラスがあるでしょうか。

534デフォルトの名無しさん:2007/08/06(月) 16:34:15
フォームにプロパティをつけて、そのフォームをShowDialogで開く。
閉じられたときに、そのプロパティを取得する。
みたいな感じでいいんじゃない?

まんまダイアログでいいなら、追加→新しい項目→ダイアログ
でダイアログ追加してそれをカスタムするとか。
535デフォルトの名無しさん:2007/08/06(月) 17:37:46
つうか DialogResult
536デフォルトの名無しさん:2007/08/06(月) 17:41:59
oh! DialogResultって普通にフォームのプロパティやったんやな…
537533:2007/08/06(月) 18:08:26
>>534-536

DialogResult というプロパティがあってそれを変更しておけばいいのですか、
なるほど、わかりました!!

ありがとうございました。
538デフォルトの名無しさん:2007/08/06(月) 18:30:19
モーダルなダイアログなら、フツーはShowDialogの返り値を取得するんだけどね。

いつものことだけど、このスレにもc#のスレにも結構テキトーなこという奴がいるんで
話半分に聞いた方がいいよ。

モーダレスなフォームで閉じられた時に何らかの値を「返す」ようにしたいのなら
例えばValueEnteredのようなイベントを自作して、ValueEnteredEventArgsのプロパティとして
返り値が取得できるようにした方がわかりやすいと思う。
539デフォルトの名無しさん:2007/08/06(月) 22:49:58
と本日一番てきとーな答えが返ってきました。
540デフォルトの名無しさん:2007/08/06(月) 23:08:10
と、暇人が申しております。
541デフォルトの名無しさん:2007/08/07(火) 08:58:11
つうか、親画面が生成したモードレス画面のClosingイベントか何かにイベント関数設定すればよかんべ。
VB6とちがって、 AddHandlerつう便利な呪文があるんだから。

イベント関数は別にそのイベント発生フォームにある必要がない。
542デフォルトの名無しさん:2007/08/07(火) 09:44:49
>>538
モーダレスなフォームが閉じられた場合、どこがその返り値を受け取るのさ?
モーダレスの場合は、閉じられる側のフォームが値を押し付けるしかできないだろ。

ってか533は「MessageBox のように戻り値を持つFormを作成するには」って書いてるのに、なんでモーダレスの話になるのさ?
543デフォルトの名無しさん:2007/08/07(火) 10:03:02
>>542

>>538じゃないが、つくりにもよるが、>>541に書いたとおりだよ。
モードレスフォームから受け取りたいと思ってる画面が、Closeingイベントか何かにイベント関数登録しとけばいいだけ。
その、受け取りたい側は別に1つである必要はない。
モードレス側がイベントをブロードキャストするだけ、おらっちしぬけどいいべか?って。
544デフォルトの名無しさん:2007/08/07(火) 10:07:55
んあー、、っと、AddHandlerで、モーダレス側のClosingの時に、親の方のメソッド走らせるってことか。
んなことできるのか!
545デフォルトの名無しさん:2007/08/07(火) 10:16:02
そこが楽しいところですよ。

コントロールダブルクリックしてイベント書いてるだけじゃVB6と変わらない。
Delegateの仕組みというか其のあたりを理解すれば、また違う世界が・・・。
546544:2007/08/07(火) 10:20:39
>>545
(*´Д`*)試したよ。出来たよ。
戻り値欲しいときは全部モーダルで開いてたんだが、これで世界が変わりそうだぜ!
AddHandlerもよく使うのにこういうことに頭回らなかったなー。
547デフォルトの名無しさん:2007/08/07(火) 10:26:27
AddHandlerって、イベントの呼び出しスタックに関数を登録するイメージだから。
イベント発生時に、そのスタックのDelegateを順次呼び出し。
まあ、注意点は順序でしょうか?基本は登録順だから(確か変えられたけど)

通信系とか、その他でも、この使い方知れば、関連フォーム、クラスにブロードキャスト可能。
フォームだけじゃないことも大事なところ。
548デフォルトの名無しさん:2007/08/07(火) 12:11:49
>>538
>>542
×モーダレス
○モードレス

>>544
そりゃ、
 ・ 一つのイベントハンドラを複数のコントロールで共用したいとき
 ・ 動的に生成されるコントロールのイベントを捉まえたいとき
なんかのために、イベントハンドラを動的に設定するためのもんなんだから
出来なきゃ困る。
549デフォルトの名無しさん:2007/08/07(火) 12:27:41
>>548
よくある勘違いだが、それは「モードレス」っていう表記の方が間違ってるんだよ。
モーダル ⇔ モーダレスという表記が正しい。
550デフォルトの名無しさん:2007/08/07(火) 12:34:47
かたかな表記はどっちにしても間違いってのが、ゼミの教授のお言葉。
551デフォルトの名無しさん:2007/08/07(火) 12:38:20
>>549
いや、modeの語尾変化でmodalとmodelessだからモーダルとモードレスだろw
552デフォルトの名無しさん:2007/08/07(火) 12:44:13
そりゃmodeの音が「モード」だという思い込みを前提としているからそういう判断になる
553デフォルトの名無しさん:2007/08/07(火) 12:44:21
こまかいなぁ
554デフォルトの名無しさん:2007/08/07(火) 12:54:36
くだんね
555デフォルトの名無しさん:2007/08/07(火) 12:59:05
modeの発音記号は[moud]で一番近い日本語表記はモードですぅ〜><

ってかくだらんことで意地張ってレス消費させるなw
556デフォルトの名無しさん:2007/08/07(火) 12:59:42
>>555
オマエモナー
557デフォルトの名無しさん:2007/08/07(火) 13:01:06
>>552はi mode も アイモーダとか発音してるんだぜ(´ー`)
558デフォルトの名無しさん:2007/08/07(火) 13:02:01
↓下らん流れを変える、質問よろ。
559デフォルトの名無しさん:2007/08/07(火) 13:04:17
まぁ表記がどっちだろうと構わないが、一般的なのはどっちなのか
グーグル先生に聞いてみた。あとはご自由に。

モーダレス 1,470 件
モードレス 29,500 件
560デフォルトの名無しさん:2007/08/07(火) 13:52:39
初心者です、2点わからないことがあるので教えてください。
1点目が、データグリッド内に指定した行数だけデータを表示させる方法。

2点目が、ページング機能のプログラムの書き方。
この二つの方法をご教授ください。
561デフォルトの名無しさん:2007/08/07(火) 13:59:41
>>560
環境も書いてくれ。
VS2005とか。
562デフォルトの名無しさん:2007/08/07(火) 14:04:31
すいません
書き忘れです。
.net2003でmysql、odbc使ってます。
563531:2007/08/07(火) 16:47:33
すまんが、>531にもなにかヒントちょうだい
564デフォルトの名無しさん:2007/08/07(火) 18:34:12
>>563
答えが返ってこないのは、質問が漠然としているからでもあると思うよ。
君は読み手のESP能力を無意識に期待してるんだよ。
なぜ読み手の立場にたった文章が書けない?

例えばこのスレの標準的な読み手ならこう思うんじゃないか?
-------------------------------------------------------------
結局こやつは何がしたいのだ?

パネルやラベルを任意の位置に表示すれば済むように感じるのだが、
それではダメなのだろうか?
ダメだとしたら何故?

というか、なぜこやつは読み手にエスパーであることを要求して平気なのだ?
-------------------------------------------------------------
565デフォルトの名無しさん:2007/08/07(火) 19:50:10
つか、「タスクが移動してしまい」の意味が解らん…
566デフォルトの名無しさん:2007/08/07(火) 21:27:51
>>563
ShowInTaskbarをFalseにする。
567デフォルトの名無しさん:2007/08/07(火) 22:01:42

Form を画面の中央に配置する場合、最も普通に行う方法はどのようなものでしょう?
VB6の時代には、Screenのサイズから割り出してTopとLeftを指定しました。
そうではなく、何か簡単な一発メソッドか何かで指定可能でしょうか。
また、画面が複数ある場合にも対応可能でしょうか。
なにとぞよろしくお願いします。
568デフォルトの名無しさん:2007/08/07(火) 22:04:25
StartPosition
569567:2007/08/07(火) 22:16:59
>>568

おお、助かります。やはりなんでも用意されているのですね!!
ありがとうございました!!
570デフォルトの名無しさん:2007/08/07(火) 22:25:15
>>563
率直に言わせてもらう。





意味がわからん。
571デフォルトの名無しさん:2007/08/08(水) 09:27:52
>>563
パネルとかを動的に生成して、任意の位置に最全面で表示させればええんじゃない?
試してないけど。
572デフォルトの名無しさん:2007/08/08(水) 12:02:16
>>560
SQL文で必要な行数を持ってこいとすれば解決するのでは?
そうすればグリッドはただ表示するだけなんだし。
573デフォルトの名無しさん:2007/08/08(水) 13:34:45

すみません、ボタン・コントロールの ForeColor に教えてください。
このプロパティを標準以外に変更しようとしてBlueなどを代入してみたのですが
変更できませんでした。これは単純には変更できないとしますと、
何か別のプロパティを先に変更しておく必要があるでしょうか。
その場合何を変更しておけばよいでしょう?よろしくお願いします。
574573:2007/08/08(水) 13:36:02
>>573 すみません間違えました。訂正します。

>ForeColor に教えてください -> ForeColor について教えてください
575デフォルトの名無しさん:2007/08/08(水) 13:40:03
.ForeColor = Color.Blueで効くはずだけど?
VisualStyleが腐ってるんじゃね?
576デフォルトの名無しさん:2007/08/08(水) 13:57:44
>>573
FlatStyleプロパティがSystemになってるとForeColorの設定いじっても変わらない。
577デフォルトの名無しさん:2007/08/08(水) 14:53:25
すみません、質問させて下さい。
DataGridViewにて、CellPaintingイベントで、セルの中身を自分で描画しようと思ったのですが、

Dim rect As New Rectangle(e.ClipBounds.X, e.CellBounds.Y, e.CellBounds.Width / 2, e.CellBounds.Height)
e.Paint(rect, DataGridViewPaintParts.Background + DataGridViewPaintParts.Border)
e.Handled = True

イベント内に以上のように書いた場合、セルの左半分だけ背景とボーダーが描画されると思ったのですが、
実際実行してみたところ、セル全体に背景とボーダーが描画されてしまいました。
rectを(1,1,1,1)なんて指定してみたところで、関係なくセルの全体が描画されているようでした。

これってrectで範囲指定ができないバグなんでしょうか?
それとも自分の書き方が間違ってるんですかね?
578デフォルトの名無しさん:2007/08/08(水) 16:18:26
>>576
FlatStyle プロパティを System にしていました。><

むかし VB6 のときは、GraphicStyle だとかにすると色関係が
帰られたかと思いましたが、VB.NETではどうやっても無理ということ
なのでしょうか?

>>575
VisualStyle はググッたのですが、もしかすると WinXpの
ということでしょうか。
579デフォルトの名無しさん:2007/08/08(水) 16:22:11
>>578

FlatStyle プロパティを System にしていましたのは、
Flat ですと見た目のインパクトが弱いためで、
その形が使いからでした・・・
580デフォルトの名無しさん:2007/08/08(水) 16:26:56
>>579
Standardじゃだめ?
581デフォルトの名無しさん:2007/08/08(水) 16:59:37
>>580

なるほどー。

ただやってみたのですが、BackColor が 
System のときと同じように、立体的なテキスタイルになる
とうれしいのですが、可能でしょうか?
582デフォルトの名無しさん:2007/08/08(水) 17:54:41
自分の環境だとStandardとSystemの外観がまったく一緒なんだが、違うのかな…?
583デフォルトの名無しさん:2007/08/08(水) 18:18:15
>>582

そうなのでした、これはもしかしたら、WinXPの設定なのですかね・・・。
584デフォルトの名無しさん:2007/08/08(水) 18:19:37
質問者はOSとIDEの環境くらい書いておくれ。
585デフォルトの名無しさん:2007/08/08(水) 20:03:51
>>584

すみません、OS は WindowsXp で、IDE は VS2005Pro でした。
そういえば、Xp は >>575さんの VisualStyle がありました、
これで変更してるから表示が変わるのですね。
586デフォルトの名無しさん:2007/08/08(水) 23:32:38
Delegate ステートメント
ttp://msdn2.microsoft.com/ja-jp/library/twsk0311(VS.80).aspx

Delegateについて勉強中なのですが教えてください。VB2005EEです。
上記の使用例で書かれているコードについてなのですが
Delegateがどのように役立っているかが全くわかりません。

Protected Sub Test()
AddNumbers(5, 3)
SubtractNumbers(9, 3)
End Sub

と書いたほうが良い様に思うのですが。
587デフォルトの名無しさん:2007/08/08(水) 23:34:27
@ITのデリゲート入門でも読めば?
あんまりいい記事じゃないけど、デリゲートの存在意義は馬鹿じゃなきゃ理解できるはず
588デフォルトの名無しさん:2007/08/08(水) 23:36:25
お前はいまとどめをさしてしまった…

589デフォルトの名無しさん:2007/08/08(水) 23:37:49
イベントとか
コレクションのSortとか
590586:2007/08/09(木) 01:09:19
>>587,>>589
回答ありがとうございます。何となくわかった気がします。
591デフォルトの名無しさん:2007/08/09(木) 11:30:48
Windowsアプリで質問です。
ユーザーコントロールを作成し中にLabelとPictureBoxを配置しました。
このユーザーコントロールを貼り付けたフォームで、このユーザーコントロールのMouseHoverイベントを
使用したいのですがLabelとPictureBox以外の領域でしかMouseHoverイベントが発生しません。
このユーザーコントロール中(LabelとPictureBoxとそれ以外の領域全て)でMouseHoverイベントを
発生させるにはどのようにすれば良いでしょうか。
592デフォルトの名無しさん:2007/08/09(木) 11:44:20
Private Sub UserControl1_MouseHover()
Private Sub Label1_MouseHover()
Private Sub PictureBox1_MouseHover()

でいいんじゃね?(未確認)
593デフォルトの名無しさん:2007/08/09(木) 12:27:15
>>591
しばらく前にほとんど同じ質問があったなあ。
過去ログ見れば参考になるサンプルコードが見つかるはず。(確か俺が書いた)

まあ要は、自分の内部コントロールのイベントを拾って、
あたかも自分のイベントのように偽装(っていってもOnXXXX呼ぶだけ)すればいいだけだよ
594デフォルトの名無しさん:2007/08/09(木) 12:30:23
>>592
解答ありがとうございます。
その記述をフォーム側に書くと言うことはLabelとPictureBoxをパブリックなプロパティにするということですね。
この場合、ユーザーコントロール内のマウスの位置によって3種類のMouseHoverイベントが起こるのが
ちょっとまずいです。
ユーザーコントロール内でマウスを動かしているだけで何度もイベントが発生するからです。
イメージとしてはユーザーコントロールと同じ大きさの透明のコントロールを最前面に配置して
その透明のコントロールのMouseHoverイベントを使用したい感じです。
595デフォルトの名無しさん:2007/08/09(木) 12:32:23
>>593
ありがとうございます。
過去ログを探してみます。
よろしければ検索のためのキーワードみたいなものを教えてもらえないでしょうか。
596デフォルトの名無しさん:2007/08/09(木) 12:41:55
>>593
内部のイベントを全て自作のイベント(MouseHoverExみたいな)にまとめて外部に公開するってことですかね。
そうするとやっぱりそのコントロール内でそれぞれのコントロールにマウスを合わせる度に同じイベントが発生
してしまいます。
Clickイベントなどはこの方法で実装しています。
597デフォルトの名無しさん:2007/08/09(木) 12:42:35
>>595
一個前のスレの363以降だね。
っていうか、593のヒントから自分でゼロから考えた方が楽しいぞ
598デフォルトの名無しさん:2007/08/09(木) 12:43:31
>>594
じゃあさ、MouseHoverイベントを使って
何をやりたいのかも書いておいたほうが回答もらいやすいぞ。
君がこれだ!って思う方法が可能とは限らないんだから。
599デフォルトの名無しさん:2007/08/09(木) 12:57:13
>>598
やりたいことはメニュー型のランチャーのサブメニュー項目のようなコントロールです。
使ってない人にはさっぱりかもしれませんがメニュー型ランチャーのOrchisでいう
サブメニューのような感じです。
画像とテキストを含んだユーザーコントロールにMouseHoverすると新しいFormを
Showすると言うような動きがしたいです。

>>597
了解です。
しばらくちゃんと自分で考えてみます。
600デフォルトの名無しさん:2007/08/10(金) 18:19:38
vb2003でGraphicsオブジェクトを使用して画像を合成しています。

単純に合成はできるのですが、乗算で合成したいなぁ、と思って
Graphics.MultiplyTransformなるメソッドを使用してみたのですが
乗算になっているようには見えません。

Photoshopでレイヤーを乗算にして描画される、あのイメージだったんですが
このメソッドで良かったのでしょうか?


g.DrawImage(imgA, rect)

Dim transformMatrix AS New System.Drawing.Drawing2D.Matrix
transformMatrix.Translate(1.0F, 1.0F)
g.MultiplyTransform(transformMatrix, System.Drawing.Drawing2D.MatrixOrder.Append)

g.DrawImage(imgB, rect)


こんな感じでやってます。
601デフォルトの名無しさん:2007/08/10(金) 19:35:40
ドキュメント読めばわかるが、MultiplyTransformはワールド変換のためのメソッド。
つまり座標変換。

System.Drawing.Graphicsというかその基になってるGDI+には色合成処理は用意されてない。
アルファブレンドはできるけど。
ので頑張って自前で実装するしかない。探せば見つかるかもしれないけど。

ttp://blog.livedoor.jp/junki560/archives/23254191.html
DelphiのコードだけどGDI+の乗算カラーフィルタのサンプルを見つけた。
参考になるかもしれない。

// そういえばPaint.NETは今どうなってんだろ。
602デフォルトの名無しさん:2007/08/10(金) 19:42:26
そりは変換行列の「積」なんでは?w

レタッチソフトの「乗算」の処理内容を具体的に知らないので抽象的なアドバイスになって
申し訳ないけど、たぶんカラー行列を使うんじゃないかな?(DrawImageのオーバーロードを見るべし)
603デフォルトの名無しさん:2007/08/10(金) 22:38:02
IME制御の質問です

アルファベットしか入力し得ないテキストフィールドなので、そのフィールドでの
入力時はIMEの変換モードを英数に固定しようとして

hWnd = TextBox1.Handle
hIMC = ImmGetContext(hWnd)
If hIMC <> 0 Then
ImmSetConversionStatus(hIMC, IME_CMODE_ALPHANUMERIC, IME_SMODE_NONE)
ImmReleaseContext(hWnd, hIMC)
End If

のようなことをFormのActivate時に実行してみたのですが、指定したフィールドだけでなく、
全ての項目にこの設定が適用されてしまいます。

その項目だけに効果を与えるにはどうすればよいのでしょうか?
604デフォルトの名無しさん:2007/08/10(金) 22:50:04
>>603
MSDNライブラリのTextBoxのメンバ一覧を穴があくまでじっくり読む
605デフォルトの名無しさん:2007/08/10(金) 23:09:33
>>604
お返事ありがとうございます。
ただ、もし ImeMode の事を言われているのであれば、それが使えない環境なので・・・・・・。
そうでないのであれば、ちょっと判りませんでした。
606デフォルトの名無しさん:2007/08/11(土) 00:47:24
>>605
それどういう環境?
607デフォルトの名無しさん:2007/08/11(土) 00:59:18
.NET Compact
608デフォルトの名無しさん:2007/08/11(土) 11:37:08

すみません、教えてください。
Labelコントロールにおいて、現れている文字列を、マウスの操作でクリップボードに
コピーすることは普通はできないと思いますが、もしかしてそういうことができるように
するためのプロパティとかは存在しないでしょうか?

どうしても不可能な場合はボタンかまたはコンテキストメニューでもつけて
クリップボードにコピーするなどは考えられるのですが、テキストボックスと同様に
手軽に使えて、しかも文字列が変更されてしまわないものが望みです。

ちょうど、プロパティ・ダイアログの中のURLなどがそのようにできるものでした。
同様の機能を実現するのには特別なコントロールを自作する必要があるでしょうか?
すみませんがよろしくお願いします。
609デフォルトの名無しさん:2007/08/11(土) 11:47:05
TextBoxでReadOnlyにしたらいいんでないの?
あとはボーダーとか消してラベルっぽくすれば。
610デフォルトの名無しさん:2007/08/11(土) 12:26:22
>>609

おお、TextBox に ReadOnly というプロパティがあったのですね!
わかりました、ありがとうございます!
いろいろ新しくなっているのですね!助かりました。

611デフォルトの名無しさん:2007/08/11(土) 12:33:18
おい大昔からなかったかい?
612デフォルトの名無しさん:2007/08/11(土) 12:43:08
板違いかもしれません。ですが質問します。
C#.NETとVB.NETの違いって何ですか?

調べてみると、(触り程度)
C#.NETにメモリーを切る概念が無くなったと。
だったら、方言とコンパイルの速度だけの違いになりますか?
613デフォルトの名無しさん:2007/08/11(土) 13:56:52
ハァ?
614デフォルトの名無しさん:2007/08/11(土) 13:59:46
メモリー切る機能ってなんだよ
615デフォルトの名無しさん:2007/08/11(土) 14:26:34
俺のおじいちゃんがメモリ確保することを「切る」と言っていたが
21世紀にその言葉を聞けるとは思わなんだ
616デフォルトの名無しさん:2007/08/11(土) 17:57:37
万能動詞、切る
何が何でも切るって言うんだぜ?
617デフォルトの名無しさん:2007/08/12(日) 10:06:08
コンソールアプリケーションの質問です

ReadLineなどで、画面から読み込む文字列を
[******]のようにマスクして、読み込む方法はあるのでしょうか?

すみませんが、よろしくお願いします
618デフォルトの名無しさん:2007/08/12(日) 13:05:52
>>612
VB.NETはリフレクションを使用するコードが勝手に生成されて凄く遅くなることがある
回避はできるからそれさえ注意すれば一緒
619デフォルトの名無しさん:2007/08/13(月) 09:08:53
言語の違いなど飾りです。
PGさんにはそれがわからんとです。

620デフォルトの名無しさん:2007/08/13(月) 10:44:01
つまらん
621デフォルトの名無しさん:2007/08/13(月) 14:16:59
Graphicsクラスで1ピクセルの点をPenを使って書く時って
Graphics.DrawLine(Pens.Black, New PointF(10, 10), New PointF(10.1, 10.1))
のようにPointF使うしかないの?
622デフォルトの名無しさん:2007/08/13(月) 15:21:56
もう少しものの聞き方を勉強しなおした方がいいよ。
623621:2007/08/13(月) 15:33:05
>>622
ごめんなさい。
624デフォルトの名無しさん:2007/08/13(月) 16:24:46
DrawLineはPointFを引数にするものもあるけど、Singleを引数にしているものもあるだろ?
あとなんで1ピクセルが0.1だと思ってるんだ?
625621:2007/08/13(月) 17:38:46
>>624
Graphics.DrawLine(Pens.Black, 10, 10, 10, 10)
だと何も描かれないですし、
Graphics.DrawLine(Pens.Black, 10, 10, 11, 11)

Graphics.DrawLine(Pens.Black, 10, 10, 11, 10)
だと2ピクセル分描かれます。
10.1を指定するときれいに1ピクセル分描かれるのですが。
何かとんでもないトコを見落としているのかなぁ。
もうちょっと調べてみます。
626デフォルトの名無しさん:2007/08/13(月) 17:48:01
ピクセルの操作はBitmap.SetPixel/GetPixelで。
短いラインがどのなんドットなるかなんて、
ディスプレイディバイスの種類が違ったり、
スケールとか座標系いじったりしたら意味ないだろ。
627デフォルトの名無しさん:2007/08/13(月) 18:05:15
>10.1を指定するときれいに1ピクセル分描かれるのですが。
あほすぎて話にならん。
そんなのディスプレイの都合上、1ピクセル分の直線が引かれているように見えるだけだろ。
プログラム上では0.1ピクセルの直線を引いてる。
結果さえよければどうでもいいのか?

説明が面倒なので、答えを書く。
お前が書きたい1ピクセルの点というのは、数学的に言えば「一辺1ピクセルの面」だ。
面を書くのはDrawLineではない。

e.Graphics.FillRectangle(Brushes.Black, 10, 10, 1, 1)
628デフォルトの名無しさん:2007/08/13(月) 18:07:38
>>626
.netじゃ座標や幅の基本単位がピクセルだから関係ないんじゃね?
twipならディスプレイの設定で変化してくるが。
629621:2007/08/13(月) 18:17:21
>>627
もちろんFillRectangleやSetPixelを使うことは知っています。
1ピクセルの点をPenを使って書く時に10.1のように
書くしかないのですかという質問なのですが。
630デフォルトの名無しさん:2007/08/13(月) 18:17:57

.NET2.0用に作成したアプリケーションは、3.0しかインストールしていないWindowsでは
動作しないのでしょうか?
631デフォルトの名無しさん:2007/08/13(月) 18:24:08
ポカーン
632デフォルトの名無しさん:2007/08/13(月) 18:24:52
>>629
1x1のビットマップを作成してDrawImageという手もあるけど
それならまだ10.1の方がスマートな気がする

>>630
3.0は、2.0に一切手を入れずに新機能を追加しただけのもの
MSを信じるなら全く問題ないはず
633デフォルトの名無しさん:2007/08/13(月) 19:13:37
>>629
だからよ、お前はDrawLineの仕様がわかってないって言われてるの。
DrawLineはあくまで座標ペアで指定された2つの点を結ぶ直線を描画するんだ。
「点」ってのは直線じゃないだろう?
Graphics.DrawLine(Pens.Black, New PointF(10, 10), New PointF(10.1, 10.1))
お前のこれは、「見かけ上」1ピクセルの点に見えるだけで、プログラム上じゃ(10, 10)to(10.1, 10.1)の直線なワケ。
お前が厳密に1ピクセルの点を書きたいわけじゃなく、ただ見かけだけそうなってりゃいいや、っていうならそれでいいよ。
ただ、そんなのに甘んじるようなお前は果てしなくセンスが無いってだけだ。
634デフォルトの名無しさん:2007/08/13(月) 19:25:55
Penで点を描くのは確かにおかしいかも
635621:2007/08/13(月) 21:25:54
>>633
すみません。怒らせちゃって。
確かにおかしいんですよ。
僕も通常点を描くだけならFillRectangleで済ますんですが
ただ描画するのは違うクラスでこのクラスはもう変更きかなくて
Penと座標しか指定できないので
困ってたんです。
で、やっとこさ10.1というのを発見してあなたの言う見かけだけ
はできたのですが、他に何かないかなと思った次第でして。
あなたと私はたぶん似ているんだと思います。
私もDrawLineの仕様を言いたいですが、
Penと座標しか指定できない場合、10.1と指定するのことに
甘んじたくなくて質問したんです。
あなたも同じ状況なら他になにかないか探すと思います。
636デフォルトの名無しさん:2007/08/13(月) 21:31:33
そもそもPenと座標しか指定できないのになんで他の方法を探してたの?
637621:2007/08/13(月) 21:32:58
>>632
ありがとうございます。
少し気が楽になりました。
638621:2007/08/13(月) 21:36:12
>>636
他の方法というのは
例えば独自のPenを作成するとか
Penのプロパティにそういうのが指定できるとか
もしあったらと思いまして。
ですのでPenを使って何かないのかなと質問しました。
639デフォルトの名無しさん:2007/08/14(火) 02:14:46
フォームクラス以外のクラスからフォーム上のコントロールを操作したいとき、
My.Forms.Form1.TextBox1.text = "2ch2ch"
とか使う?それとも引数で渡す?
俺はMSがせっかく用意してくれてるんだからMy使うんだけど、みんなはどっち?
640デフォルトの名無しさん:2007/08/14(火) 04:42:20
TreeView や ListView 上の ListViewItem というのは、
Selected 状態と Active 状態とで異なるでしょうか?

Explorer上の TreeView や ListView では、点線でかこまれただけの状態の Item
と、実際に選択されて薄いパープル色あるいはグレーのバックカラーになって現れている
場合の2種類がありますが、それらに対応するものなのでしょうか。

641デフォルトの名無しさん:2007/08/14(火) 04:51:13
はて、Active 状態ってのは一体どのプロパティがどの値になってるのを指すんだ?
642640:2007/08/14(火) 05:21:30
>>641

そうですね、よくわからないんですが、OnItemAvtivated() の Protected メソッドが
動くときのイベントが発生したとき、という意味のつもりでした。

Explorer では「単なる点線囲み状態」 と 「BackColorが色付く状態」 の両方があったので
そういう違いがある2つの状態というものがあって、それが Selected とは別の何かなのかなと
思ったのでした。

そういうもの自体存在しないのでしょうか。
643デフォルトの名無しさん:2007/08/14(火) 09:43:48
OnItemActivate の二つ先に Activation プロパティがある。その解説読んでみ。

> 「単なる点線囲み状態」「BackColorが色付く状態」
ListViewItem にそれぞれ対応するプロパティがある。

TreeView は単一選択なんでこの辺は無関係。
644デフォルトの名無しさん:2007/08/14(火) 09:49:15
>>639
ほんとは引数で渡した方がいい
テキストボックスも直接公開するんじゃなくてForm1にString型のプロパティを定義した方がいい
でもどうせ使い捨てなら別にどうでもいい
645640:2007/08/14(火) 14:15:33
>>643

ご指導どうもです、この 「点線囲み状態」 は ListViewItem の Focused プロパティに
関係ありそうですね。さらにあちこち見て調べてみます。
ありがとうございました!
646デフォルトの名無しさん:2007/08/14(火) 15:07:48
>>627
プププ何コイツ
久々に笑わせられたぜww

>数学的に言えば「一辺1ピクセルの面」だ。

何が数学的だよ1ピクセルはプログラム上は点に決まってんじゃん。www
>e.Graphics.FillRectangle(Brushes.Black, 10, 10, 1, 1)
ちゃんと4ピクセルの面を指定しるじゃん。wwwうぇwww
FillRectangleってのは領域の内側を塗るんだよ。おバカさん
内側ってのは右辺と下辺から1ピクセル分引いた値。w
で結果1ピクセル分だけ塗られているだけだぽwww

直線上にない異なる3点以上を指定しないと面にならないことくらい
消防でも知ってるっつうの。

>一辺1ピクセルの面 プププププww
一番小さい面は3ピクセルの三角形だよwwwwww

ってかムキになってる638はその前に氏ねよwww。

こいつらくだんね。
647デフォルトの名無しさん:2007/08/14(火) 15:15:40
( ゚д゚)ポカーン
648デフォルトの名無しさん:2007/08/14(火) 16:09:05
>>646
>FillRectangleってのは領域の内側を塗るんだよ。おバカさん
>内側ってのは右辺と下辺から1ピクセル分引いた値。w

FillRectangleには下辺の指定とかないんだけど、勝手に定義を変更しているあなたはなんなの?

>e.Graphics.FillRectangle(Brushes.Black, 10, 10, 1, 1)
これは座標(10,10)から始まる幅1高さ1の面ってことだろ?

ってか文章からして釣りだよなw
649デフォルトの名無しさん:2007/08/14(火) 16:14:46
>>635
>僕も通常点を描くだけならFillRectangleで済ますんですが
>ただ描画するのは違うクラスでこのクラスはもう変更きかなくて
>Penと座標しか指定できないので
>困ってたんです。
こういう背景も書かずに、いきなり>>621みたいな聞き方するから、Bitmap.SetPixel/GetPixelやFillRectangleなんて話がでてきたんではないの?

『定義の使用上、通常1ピクセルの直線は描画できないDrawLineで、
1ピクセルの点を描画する方法はありませんか』
とか聞けばいいのに。
650デフォルトの名無しさん:2007/08/14(火) 17:13:09
>>648
>これは座標(10,10)から始まる幅1高さ1の面ってことだろ?
これ読んだら吹いたwww

お前633で「点」ってのは直線じゃないだろう?
って言ってたじゃん。
点は直線じゃないが面になるのかよwww

お前まさか座標のことピクセルとピクセルの間だと思ってないかww
GetPixelでカラー取得できなくなるっちゅうのwwww

Rectangle( 10, 10, 1, 1)ってのは
(10,10)(10,11)(11,10)(11,11)の4点を表すんだよwww
DrawRwctangleやってみろよwwうぇぇぇぇwwww

>1ピクセルの面なんてねぇぇぇよwwうふ
651デフォルトの名無しさん:2007/08/14(火) 18:14:34
>>650
俺は627で「1ピクセルってのは点じゃなくて幅1高さ1の面だ」って言ってるんだが…。
だからこそ1ピクセルの「いわゆる」点を書くのは、面を塗りつぶす
e.Graphics.FillRectangle(Brushes.Black, 10, 10, 1, 1)
だと言うているんだが…?
目に見える「点」なんて存在しないだろ?
お前の言いたい事がてんでわからん。
652651:2007/08/14(火) 18:16:58
>>650
e.Graphics.FillRectangle(Brushes.Black, 10, 10, 1, 1)
ちなみにこれは座標(10,10)だけが塗りつぶされます。
あおる前に試してから書き込め、糞が。
653デフォルトの名無しさん:2007/08/14(火) 19:52:58
どうでもいい
654デフォルトの名無しさん:2007/08/14(火) 19:55:35
655デフォルトの名無しさん:2007/08/15(水) 11:52:54
VB.NETからエクセルに出力する時の質問です。

データベースの内容をエクセルに出力したいのですが(行は100行×列は10列くらい)、
この場合、VB.NETからエクセルのセルに直接書き込んだ方が早いですか?
それとも、エクセルのマクロを呼び出して、マクロ側でデータベースの内容を
セルに書き込んでいった方が早いですか?
656デフォルトの名無しさん:2007/08/15(水) 12:23:04
後者
657デフォルトの名無しさん:2007/08/15(水) 15:17:28
教えてください。
DataGridViewにて、指定したセルの左上の座標を取得する方法はありますでしょうか?
ありましたらその方法を教えてください。
宜しくお願いします。
658デフォルトの名無しさん:2007/08/15(水) 15:22:30
DataGridViewのメンバに目を凝らすんだ
659657:2007/08/15(水) 15:52:18
>>658
AccessibilityObjectプロパティを利用して解決できました。
660デフォルトの名無しさん:2007/08/15(水) 20:51:23
Windowsフォームで別スレッドからコントロールを操作するには?
(http://www.atmarkit.co.jp/fdotnet/dotnettips/312ctrlinvoke/ctrlinvoke.html)
引数がない場合、サンプルのように次の書き方でOK。

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  TextBox2.Focus()
 End Sub
 ↓
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 Dim t As New Thread(New ThreadStart(AddressOf worker))
 t.Start()
 End Sub

 Delegate Function FocusDelegate() As Boolean

 Sub worker()
 ' textBox2.Focus()の実行
 Invoke(New FocusDelegate(AddressOf TextBox2.Focus))
 End Sub

次のように引数も渡したい場合、どのように書きなおせばよいのでしょうか?
 Dim dtNow As DateTime = DateTime.Now

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 TextBox2.Text += dtNow.ToString() & vbcrlf
 End Sub
 ↓
 ?
661デフォルトの名無しさん:2007/08/16(木) 09:59:26
文字列のフォーマットについて教えてください。

"abcdefgh" という文字列を "abcd-ef-gh" という風に変換したい場合、
VB6の時は
Format("abcdefgh","@@@@-@@-@@")
で出来ました。
これをVB2005で表現するには、
VB6.Format("abcdefgh","@@@@-@@-@@")
といった風にしかできないのでしょうか?
VB6.Formatを使わずに簡単に上記操作が出来る方法があれば教えてください。
662デフォルトの名無しさん:2007/08/16(木) 10:07:34
SubstringでぶったぎってConcatで繋げればいいよ
663デフォルトの名無しさん:2007/08/16(木) 12:51:09
ToStringメソッドを調べると良いと。
664デフォルトの名無しさん:2007/08/16(木) 13:05:33
TreeViewについて教えてください。

あるノードが、あるノードより上にあるか下にあるか
調べたいのですが簡単にわかる方法はありますでしょうか?

If hogeNode.index > hoge2Node.index Then
End If

ですと階層が同じでないと比較できないので困っています。

よろしくお願いします。
665デフォルトの名無しさん:2007/08/16(木) 13:22:03
上?
666デフォルトの名無しさん:2007/08/16(木) 13:29:26
>>665
ツリーを全展開したときに、より左上にあるものが上といった感じです。
667デフォルトの名無しさん:2007/08/16(木) 13:34:31
TreeNode.Parentを辿って数えれば?
668デフォルトの名無しさん:2007/08/16(木) 13:48:04
右上にあっても上?
669デフォルトの名無しさん:2007/08/16(木) 13:58:41
上位という意味だろ
より親
670デフォルトの名無しさん:2007/08/16(木) 15:34:46
右上も上です。
671デフォルトの名無しさん:2007/08/16(木) 16:02:58
プロパティの質問です。
会社の先輩にクラスのフィールドは必ずプロパティで介せよ!って言われたのですが、
以下のコードのようにmfield1とmfield2の違いがよくわかりません。
mfield1はプロパティ内で入出力操作みたいなことはできるのですが、下のコードのように
特に何もしないプロパティなんて意味あるのでしょうか?こういうプロパティがクラスに沢山あるのですが、正直面倒です。
先輩に聞いたら元請にそう指示されたと言ってましたが・・・
Public Class Class1
  Private mfield1 As String
  Public mfield2 As String

  Public Property Field1() As String
    Get
      Return mfield1
    End Get
    Set(ByVal value As String)
      mfield1 = value
    End Set
  End Property
End Class
確かに以前Javaの引継ぎの仕事で貰ったソースも、getter、setterが無数に書かれてましたが、return とクラスの変数の割り当て以外何もしていませんでした。
いまいち利点がわかりません。
672デフォルトの名無しさん:2007/08/16(木) 16:11:34
>>671
そのうち昔は無駄なことをしていたなぁ
ということになるからそれまでは我慢
673デフォルトの名無しさん:2007/08/16(木) 16:41:00
C#3.0をまて
674デフォルトの名無しさん:2007/08/16(木) 16:55:15
>>671
読み書きの処理をインターセプトして値のチェックや変換ができるというのも利点だが、
そういう処理の必要でない単純なプロパティを含む場合の利点としては
フィールドと違いInterfaceにしたり継承でoverrideできること。
特にリモート呼び出しなどではInterfaceであることは重要になる。

その為プロパティが花盛りなのは事実だが大半が単純な構造のプロパティであることから、
プロパティによるコードの増大を何とかしようとする動きはある。
1.IDEのサポート機能で強引にsetter/getterを大量生産する。
2.基本的な構造のプロパティを簡単な構文で書けるようにする。
3.パブリックなフィールドは自動的にプロパティにする。

1は現状のJavaやらC#で盛ん。
2と3は言語の拡張で対応。次版のVBやC#はこの方向。
3はあまりみないが、VB6のActiveXクラスのパブルックフィールドがこのやり方だった。
675デフォルトの名無しさん:2007/08/16(木) 20:02:10
>660
解決しました。
660の質問は却下します。
676デフォルトの名無しさん:2007/08/16(木) 21:38:41
>>664
nodeにlevelってプロパティがあった様な。
677デフォルトの名無しさん:2007/08/16(木) 21:48:32
質問させてください。
ドラッグアンドドロップのコードを記述してるのですが、
ドラッグ元のオブジェクト名を取得するにはどうすればいいのでしょうか?

VB2005EEを使っています
678デフォルトの名無しさん:2007/08/16(木) 21:54:51
オブジェクト名って何さ
型名? それともひょっとして変数の名前のこと?
679デフォルトの名無しさん:2007/08/16(木) 22:09:06
>>678
picturebox1とかlabel1みたいなクラス?の名前のことです
680デフォルトの名無しさん:2007/08/16(木) 22:14:08
1付きはForm1以外はクラス名じゃなくて変数名だと思うぞ
で、そんなもんは仮の名前なのでとれるわけもないが

結局その名前を使って何がしたいの?
681デフォルトの名無しさん:2007/08/16(木) 22:14:30
おまえ却下てw
682677:2007/08/16(木) 22:24:00
ドラッグ元の画像をドラッグ先の画像にドラッグアンドドロップしたときに
ドラッグ元の画像を非表示にしたかったのですが、ドラッグ元の情報を
どうやって取得したらいいのか分からなかったので質問しました。
683デフォルトの名無しさん:2007/08/16(木) 22:29:25
DoDragDrop の返り値見てドラッグ元側が処理すればいい
ドラッグ元とかドラッグ先とかの状況が分からないから一般論だが
684671:2007/08/17(金) 00:09:30
>>674
ありがとう。とりあえずプロパティにしておくのは間違いではないのですね。
ググルと既にJava界ではgetter setterでいろいろ賛否両論が行われてました(@ITの掲示板はついて行けませんでしたが…)
しかし、オブジェクト指向のソースとか何の為?って思う箇所が多々あって辛い。
周りに詳しい人もいないんで、何を頼りにすべきか…。デザインパターンとかとりあえず目を通した方が良いのかな。
685デフォルトの名無しさん:2007/08/17(金) 10:49:21
質問です。
DataGridViewで、”スクロールバーが現在表示されているかどうか”を取得できるプロパティみたいなものはあるのでしょうか?
それともDataGridViewの高さ(幅)と、表示されている行(列)の高さ(幅)の合計を比較するしかないでしょうか?
686デフォルトの名無しさん:2007/08/17(金) 13:40:41
DataGridViewを継承したコントロールですと、
HorizontalScrollBar.Visible
で判定できるみたいですね。
それでいってみます。
687デフォルトの名無しさん:2007/08/17(金) 15:27:14
Textbox(Multiline)のIMEModeの挙動がおかしいです。

No Control に設定(デフォのまま)してあるのに、実行時に
普通に入力できていたのに突然、カナ入力になったり、
オフ固定になったりします。

フォーカスが、他のアプリなどへ移動して、再度該当の
TextBoxに来た時に症状がおきやすい様ですが、明確な
発生状況の原因は突き止められていません。

ネットで検索した所、似たような症例が見受けられたが、
クリティカルな回避方法が分かりません。

何か良い方法はありませんでしょうか?
688デフォルトの名無しさん:2007/08/17(金) 21:52:19
以下のソースで文字をPictureBox1に描画してるのですが、
この文字を、BMP保存したい場合どうすればいいのでしょうか?

Dim g As Graphics = PictureBox1.CreateGraphics() ' PictureBox1のGraphicsオブジェクトを取得
Dim fnt As New Font("MS 明朝", 20, FontStyle.Bold) ' フォントオブジェクトの作成

g.DrawString("文字をを描画", fnt, Brushes.Blue, 50, 20) ' 文字を描画

'リソースを開放する
fnt.Dispose()
g.Dispose()
689デフォルトの名無しさん:2007/08/17(金) 21:56:53
普段から直接描くんじゃなくてBitmapに描くようにすればいいよ
690デフォルトの名無しさん:2007/08/17(金) 21:57:14
Graphics.FromImage(Bitmap)で取得したオブジェクトに対して描画してBitmap.Save
保存しない場合でもPictureBoxに直接書くよりBitmapに描画してDrawImageの方がいいと思うよ
691デフォルトの名無しさん:2007/08/17(金) 22:04:38
>698,690
うまくいきました、ありがとうございます
692デフォルトの名無しさん:2007/08/17(金) 22:58:20

すみません、教えてください。

TreeView において、+ 印をクリックしたときにも、MouseUp イベントが発生する
のですが、、

それを、Node 本体をクリックしたときと区別する方法はあるものでしょうか?
IsSelected プロパティを見てみたのですが、無関係のようで、どうしたらいいもの
かと思いまして。すみませんがよろしくお願いします。
693デフォルトの名無しさん:2007/08/17(金) 23:13:02
NodeMouseClick とかじゃ駄目か
.NET 1.1 以前なら駄目か、じゃあ HitTest だな
694デフォルトの名無しさん:2007/08/17(金) 23:26:06
>>693

どうもです。

2.0でしたが、NodeMouseClick でもやはり + 印の方でも反応していました。
HitTest でしたか。調べてみます、ありがとうございました!

695デフォルトの名無しさん:2007/08/18(土) 08:47:26
>>692
TreeViewMouseDownで
マウスダウンポイント = New Point(e.X, e.Y)
選択ノード = ツリービュー.GetNodeAt(マウスダウンポイント)
範囲 = 選択ノード.Bounds()
If 範囲.Contains(マウスダウンポイント) Then
 ボディを選択した
Else
 +を選択した
End If
696デフォルトの名無しさん:2007/08/18(土) 12:15:27
>>695

おお!!そうやってやるのですか!!!
すばらしい、どうもありがとうございました!!
助かりました!!!
697デフォルトの名無しさん:2007/08/18(土) 15:07:21
VS2005のIDEですが、ソースコード・エディタ上でマウスであちこちクリックしたり、
検索で移動したり、「シンボルの検索結果」での選択で移動したり、とこれらの操作で
キャレットの位置が変わっていったとき、その位置を復元して逆たどるためのツールボタン
があったと思うのですが、

PCが壊れて、別のPCに変えて同じボタンと思われるものを使ってみたのですが、
同じその機能が働いてくれません。

この機能のボタンはありますよね。なんという名前のボタンかがわかりません。

(試してみたのは、「前の検索結果1の場所へ移動」「前の検索結果2の場所へ移動」
「前の場所へ移動」などですが、これらでは復元しませんでした。ツールボタンの欄で
右クリック->「ユーザー設定」->「編集」を選択->その中のボタンから選択してみました。)
698デフォルトの名無しさん:2007/08/18(土) 15:13:24
そういうのって人に聞くより自分で実際やってみる方が早くないか?

それともIDEのメニューやツールバーのカスタマイズ方法を知らないの?
699デフォルトの名無しさん:2007/08/18(土) 15:56:40
>>697

ですから、それをやってみたと書いていますが・・・。それでもできなかったもので。
           ↓
(試してみたのは、「前の検索結果1の場所へ移動」「前の検索結果2の場所へ移動」
「前の場所へ移動」などですが、これらでは復元しませんでした。ツールボタンの欄で
右クリック->「ユーザー設定」->「編集」を選択->その中のボタンから選択してみました。)
700デフォルトの名無しさん:2007/08/18(土) 17:14:24
進む、戻る、かなんかのボタンだよね
俺も見つかられんのだわw
701デフォルトの名無しさん:2007/08/18(土) 17:14:55
たしかすごい意外なとこにあった記憶はあるんだが…
702デフォルトの名無しさん:2007/08/18(土) 17:46:36
分類:表示 の 一番下のほうにある 戻る か?
703697:2007/08/18(土) 20:36:38
>>702

あー、それでした!!どうもありがとうございました!

704デフォルトの名無しさん:2007/08/20(月) 01:05:24
質問なんですが、フォントスタイルに太字と斜体の両方を
設定した場合に、太字(もしくは斜体)のみを標準状態に
戻す場合のコードってどう書けばいいのでしょうか?
705704:2007/08/20(月) 01:12:05
自己解決しました、お騒がせしました。
706デフォルトの名無しさん:2007/08/20(月) 09:31:20
どれだけ下らなく稚拙な質問でも、同じ疑問を持ってるやつがいるかもしれないから、
自己解決した場合でも、解決法は書くべき。

現在のスタイル-太字
TextBox1.Font = New Font(TextBox1.Font, TextBox1.Font.Style Xor FontStyle.Bold)

ちなみに
現在のスタイル+太字
TextBox1.Font = New Font(TextBox1.Font, TextBox1.Font.Style Or FontStyle.Bold)
707デフォルトの名無しさん:2007/08/20(月) 12:31:46
地獄への道は善意で舗装されている、という言葉の意味を706は噛み締めるべきだね。

そういう「善意」は、結局のところ、基礎の理解や自分の頭で考えることをスキップする
「コピペ馬鹿」を生み出すだけだと思うが。
708デフォルトの名無しさん:2007/08/20(月) 13:14:31
>>707
善意から莫迦が産まれるとでも思ってんのか?
莫迦は元々莫迦なんだよ。
709デフォルトの名無しさん:2007/08/20(月) 14:47:18
まあ少なくとも馬鹿を矯正するスレじゃないからね
710デフォルトの名無しさん:2007/08/20(月) 16:43:07
質問答えたらだめじゃんw
711デフォルトの名無しさん:2007/08/20(月) 17:36:01
コントロールを名前で選択するにはどうすればいいのでしょうか。

例えばForm1上にButton1があったとすると、
Dim btn As Button = hoge("Button1")
みたいなことがしたいのです。
ググると、Form上のコントロールのコレクションをFor eachで回して、名前が一致するかどうかで
探すというのは見つけたのですが、名称からダイレクトに選択したいです。
712デフォルトの名無しさん:2007/08/20(月) 18:27:44
またコントロールを名前で選択したいです厨か
713デフォルトの名無しさん:2007/08/20(月) 20:42:55
>>711
>Form上のコントロールのコレクションをFor eachで回して、名前が一致するかどうかで
>探す
という関数を作成すれば
>名称からダイレクトに選択
できますよ。
714デフォルトの名無しさん:2007/08/20(月) 21:01:40
>>711
Form.Controls(string)
やめとけやめとけやめとけやめとけ
715デフォルトの名無しさん:2007/08/20(月) 21:04:12
712じゃないけど(いや712は別に何も言ってないがw)
>>711みたいな「要求」は、ほとんどの場合勘違いの産物だと思うぞ。
ありていに言えば頓珍漢なんだよたぶん。
716デフォルトの名無しさん:2007/08/20(月) 21:49:53
>>711は結局それで何がやりたいのだろう
717デフォルトの名無しさん:2007/08/20(月) 21:53:11
ちゃんと理解してて目的があって使うならいいんだけど
>>711はそれ以外に方法がないと思い込んでるだけだろうな
718デフォルトの名無しさん:2007/08/20(月) 23:06:46
ListView上をMouseでClickしたとき、何かのListViewItemをHitすると
MouseUpイベントが連続して2回立つ、ということはありうるでしょうか?

そういう現象が出て悩んでいました。

下に何もないところをClickしたときはMouseUpは正常に一回しか立たない
のですが、下にItemがあるところをMouseでClickすると、2回連続してMouseUpが
立つのでした。

そのためか、そのListViewItemは、選択された印のBackColorが付かず、
Selected状態になっているのかどうかわからないのでした。

MouseDownイベントを挟まずにMouseUpが2回連続するというのは変だと
思うのですが、どこを通ってきてそうなっているのかわからないのでした。
こういう現象になった方いらっしゃったら何かご指導ください。よろしくお願いします。

719デフォルトの名無しさん:2007/08/21(火) 01:21:52
>>718
ありうるかどうかはdebug.printしてみればわかる。
720デフォルトの名無しさん:2007/08/21(火) 07:53:11
DirextXを使用しているものから色を取得して判定したいのですが
Win32APIのGetPixel等では不可能のようでしたが、何か良い方法は
ないでしょうか。
721711:2007/08/21(火) 09:20:41
>>714さんの方法でできました。ありがとうございました。

やりたいことは、
722デフォルトの名無しさん:2007/08/21(火) 09:59:05
>>719
そうなのです、それをやってみた結果、それがわかったのでした。

MouseUpというのはMouseDownが起きて初めて起こるはずなので、Upだけ
2回連続するというのは、理屈でいけばおかしいと思われました。

しかし、確かにDownを挟まずに、2回通っているのでした。

これは、どこかでDownに準じる何かが起きているが、それがおもてに
現れずにいるというようなことなのか、それとも、どこかまだ不明なところを
経由して再びMouseUpが実現してしまうという構造なのか・・・??

それで、そういったことは起こりうるのか、それが疑問になったのでした。

で、現実にItemが選択状態のBackColorにならない、ということは、その
2回連続しているMouseUpがおきてしまうことと関係があるのだろう、
と推測されたわけでしたが、どなたかアドバイスがありましたらお願いしますです。
723デフォルトの名無しさん:2007/08/21(火) 10:14:55
>>720
DirextXを使用している「もの」って具体的に何
>>722
再現しなかったのでした。
そのListViewItemについて詳しく教えてほしいと思ったのでした。
724デフォルトの名無しさん:2007/08/21(火) 10:19:28
>>723
スルーされるの覚悟ですが、フルスクリーンで動作するゲームです。
DirectXについて詳しくないのですが、普通にSpy++でハンドル調べて
Findwindow等で取得したハンドルを使ってGetPixelしたのですが
駄目でした。
725デフォルトの名無しさん:2007/08/21(火) 10:29:50
普通にGraphics.CopyFromScreenでできない?
726デフォルトの名無しさん:2007/08/21(火) 10:35:20
有り難う御座います。帰ってから試してみます。
727デフォルトの名無しさん:2007/08/21(火) 11:31:28
行列クラスを作ろうとしています。今、
Dim ary(,) As Integer = {{1, 0}, {0, 1}}
Dim matrix As New Matrix(ary)
のようにやっていますが、
Dim matrix As New Matrix({{1, 0}, {0, 1}})
とやることはできないでしょうか。

また、a22 = matrix(2, 2) で a22に1が入るなどとやりたいのですが、
そういうことは可能でしょうか。

Array は Inherits できないようなので、無理なんですかね?
728デフォルトの名無しさん:2007/08/21(火) 11:34:12
>>724
FPSゲームのチートソフトでも作る気かw
729デフォルトの名無しさん:2007/08/21(火) 11:38:29
>>727
>Dim matrix As New Matrix({{1, 0}, {0, 1}})
コンストラクタの引数に配列をとる
>a22 = matrix(2, 2)
既定のプロパティ
730729:2007/08/21(火) 12:00:46
すまん上の方はもうやってたな
Dim matrix As Matrix = New Matrix(New Integer(,) {{1, 0}, {0, 1}})
にするだけ
731724:2007/08/21(火) 13:23:15
>>728
チートだなんてとんでも無い。ちょっとしたマクロ程度です。
>>725も試してみたんですが、上手く使えずWin32APIで
GetWindowDC(0)としてデスクトップ全体のDCからGetPixelしたん
ですが、DirectX(フルスクリーン)だと上手く行かないみたいですね。
今会社なので試せてませんが…。

ググってみると、どうも出来ないという話ばかりありました。

もう何て言うか、他のソフトで窓化してから組んだ方が手っ取り早い
気がしてきました。UWSCのPeekColorなんかだと出来るんですが
どうやって実現しているんだろう…。
732デフォルトの名無しさん:2007/08/21(火) 14:23:02
DirectXとフルスクリーンには、何にも因果関係はないと思うが。

DirectXで描画しているDCを取得しないと駄目なんでないの?
733デフォルトの名無しさん:2007/08/21(火) 14:39:07
WebBrowserコントロール内のドキュメントの反転範囲の取得は可能ですか?
734733:2007/08/21(火) 14:40:27
連レスすいません、「クリップボードの利用は無し」が条件です。
735デフォルトの名無しさん:2007/08/21(火) 14:43:37
>>733
可能です
736733:2007/08/21(火) 14:45:27
>>735
ありがとうございます
737デフォルトの名無しさん:2007/08/21(火) 14:54:33
VB2003で開発しています。

ここで質問していいかわからないので、もし他スレが適切なら
誘導をお願いします。


OSがWin2003Serverでドメインコントローラになっているサーバに
Everyoneでフルコントロールできる共有フォルダがあります。
この共有フォルダに、LANで繋がっているOSがXpHomeEditionのPC
からファイルをアップロードしたりダウンロードしたりするアプリを
作りたいのです。

使用するPCはちょっと特殊なPCでHomeEditionしかプリインストールされていません。
ドライバ類の事を考慮して、OSをProfessionalEditionに乗せかえることは
しません。

クライアントがProfessionalEditionなら問題はないのですが、HomeEdition
なのでサーバの共有フォルダにアクセスしようとすると、ユーザ名と
パスワードを要求されてしまいます。

最初にエクスプローラから共有フォルダを開こうとしてユーザ名とパスワードを
通しておけば次からは要求されないので問題がないのですが、この開発中の
アプリからいきなり共有フォルダにアクセスしようとすると、ユーザ名と
パスワードが通っていないためにエラーになります。

プログラムからユーザ名とパスワードを認証させる方法はありますでしょうか?
738724:2007/08/21(火) 14:55:53
>>732
そうなんですか。すいません。あまり詳しくなくて。。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1145477
この辺みて勘違いしてたかもしれません。

取りあえず、↓みたいな感じの関数で帰ってから試してみます。
有り難う御座いました。

Private Function PeekColor(ByVal x As Integer, ByVal y As Integer) As Integer

Dim ret As Integer

ret = GetWindowDC(0) 'スクリーン全体のデバイスコンテキストを取得
PeekColor = GetPixel(ret, x, y)
ret = ReleaseDC(0, ret) 'スクリーン全体のデバイスコンテキストを解放

End Function
739デフォルトの名無しさん:2007/08/21(火) 15:00:47
>>737
WNetUseConnection
740デフォルトの名無しさん:2007/08/21(火) 15:03:46
>>738
どんなフルスクリーンか知らんが解像度が変更されている場合もあるので気をつけれ
多分デスクトップのDCのピクセル情報はフルスクリーンキャプチャに移るのと一緒だと思うから一回撮ってペイントに貼り付けてみて確認してみるのもいいかも
741デフォルトの名無しさん:2007/08/21(火) 15:16:15
>>737

>ドライバ類の事を考慮して、OSをProfessionalEditionに乗せかえることは
>しません。

これだけの為にProにアップグレードするべきだとは思わんが、一応教えておく。
ドライバはHomeだろうがProだろうが一緒。互換性を心配するのは間違い。
742デフォルトの名無しさん:2007/08/21(火) 17:20:47
VB2005です。
TextBoxで未入力のときに数値の0とみなしたいのですが、次のようなやり方以外に
簡単な方法はありますか?
if textbox1.text.length = 0 then
val = 0
elseif isnumeric(textbox1.text) then
val = cint(textbox1.text)
else
'error
end if
743737:2007/08/21(火) 17:47:49
>>738
さっそくWNetUseConnectionをぐぐってみました。
で参考になるサンプルを見つけたので
ttp://64.233.167.104/search?q=cache:e1IfQnfsW9UJ:www.vbalab.net/vbaqa/c-board.cgi%3Fcmd%3Dntr%3Btree%3D36579%3Bid%3Dexcel+WNetUseConnection&hl=ja&ct=clnk&cd=9&gl=jp&lr=lang_ja
真似てやってみたのですが
その関数の戻り値が 487 となり、失敗します。

で、その戻り値を調べたら
ERROR_INVALID_ADDRESS 487 0x000001E7 無効なアドレスにアクセスしようとしています。
とありました。
しかし、そのアドレスは確実に間違っていないはずなんですが・・・。
そのアドレスをエクスプローラのアドレス欄に貼り付けるとちゃんと表示されます。

これ以上はスレ違いでしょうかね?
apiスレに移動したほうがいいでしょうか?


>>741
ドライバの互換性云々というのではなく、ドライバ類がOSの再セットアップ用に
提供されていないという問題なんです。
一応、ハードディスクにはリカバリイメージが格納されているのですが
隠蔽されているっぽいのです。
ドライバCDもなく、webでも公開もされておらず・・・
744デフォルトの名無しさん:2007/08/21(火) 18:14:50
>>743
ヒント:上書きインストール
745デフォルトの名無しさん:2007/08/21(火) 18:33:56
>>742
それで十分簡単だと思われ。
746727:2007/08/21(火) 18:57:05
>>729
a22 = matrix(2, 2) はできました。ありがとうございます。
Dim matrix As New Matrix({{1, 0}, {0, 1}})
の方は、以下のようにしてみましたが、式が必要です
というエラーが出ます。対策を教えていただけないでしょうか。


Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim matrix As new Array2({1, 0})
End Sub
End Class
Public Class Array2
Public elements As Array
Public Sub New(ByVal ary As Array)
elements = ary
End Sub
End Class
747デフォルトの名無しさん:2007/08/21(火) 20:15:26
>>743
Win32APIの意味や失敗の原因を調べるならWin32API質問箱スレに移動すべきだが、
Win32APIを呼び出すためのVB.NETの記述方法について知りたいなら、ここのままでも
よいのでは?
748737:2007/08/21(火) 21:10:20
Win32API質問箱スレにいってきます。
ありがとうございました。
749デフォルトの名無しさん:2007/08/21(火) 21:24:00
750746:2007/08/22(水) 09:59:10
>>749
見逃してました。。。
うまく行きました。ありがとうございました。
型に配列就職誌をつけられるとは知りませんでした。
751デフォルトの名無しさん:2007/08/22(水) 10:15:43
配列型という型なんだよ
変数名じゃなくて型名の後に括弧を付ける方がその意味では正しい
752デフォルトの名無しさん:2007/08/22(水) 11:06:56
746はVBしかしたことないんかな
753デフォルトの名無しさん:2007/08/22(水) 12:16:12
>配列就職誌
誤変換に生活史が見て取れる
754デフォルトの名無しさん:2007/08/22(水) 12:44:18
Dim array As Int32() = New Int32() {1, 2, 3}
こう書いたらもうC#だなw
755デフォルトの名無しさん:2007/08/22(水) 21:19:29
友達からVS2005をコピーしてもらったのですが、インストール方法がわかりません。
どうやらキーを入れるみたいなんですが、キーを教えてもらえませんか?
756デフォルトの名無しさん:2007/08/22(水) 21:46:24
>>755
お前頭悪過ぎ

わざとボケたならすまない。
だが、ここでなく低脳スレに行くことをオススメする。
757デフォルトの名無しさん:2007/08/22(水) 21:53:17
>>755
マイクロソフトに問い合わせればいいじゃん
758デフォルトの名無しさん:2007/08/23(木) 11:13:09
VB2005を使っています。

フォームのNew()の中でInitializeComponent()が呼ばれますが、InitializeComponent()内で
設計時に設定したプロパティを設定するときに、それぞれのイベントハンドラが呼ばれたりします。

全てが初期化されるまでに呼ばれると困るイベントハンドラもあるので、今のところは
以下のようなコードでしのいでますが、VB2005に用意されている機能でこれを実現することはできますか?
Class Form1
  Dim mConstructed as Boolean

  Public Sub New()
    InitializeComponent()
    mConstructed = True
  End Sub

  Private Sub SomeEventHandler(...)
    If Not mConstructed Then
      Exit Sub
    End If
  End Sub
End Class
759デフォルトの名無しさん:2007/08/23(木) 12:39:16
>>758
まあ別にそれでも良いんじゃない?
(ただ、未確認だけど自分で判定用のフィールド作らなくてもForm.Createdが使えると思う)

そういう場合はHandles句を使わずに自分でイベントを紐付けするのが正攻法だと思うけど。
760758:2007/08/23(木) 13:04:41
>>759
前者の方法も知りませんでしたし、後者の方法も目から鱗でした!
ありがとうございました。
761デフォルトの名無しさん:2007/08/23(木) 15:11:07
タブコントロールを使っているのですが
タブが多くなり2段になりました。
どうせなら自分の好きなタブで区切り2段になるようにしたいのですが
タブ何個で段分割するとかいう指定はないでしょうか?
762デフォルトの名無しさん:2007/08/23(木) 15:13:15
タブサイズ調整するしかないんじゃね?
763デフォルトの名無しさん:2007/08/23(木) 15:54:00
あきらめました!
764デフォルトの名無しさん:2007/08/23(木) 20:58:38
諦めんのはええぇぇぇぇwwwwww
765733:2007/08/23(木) 22:05:44
あれから探して見つかったので、聞かれていませんが一応。
WebBrowser.Document.ActiveElement.InnerText
WebBrowser.Document.ActiveElement.InnerHtml
を使ってWebBrowserの選択範囲・クリックした画像のソース等の取得ができました。クリックイベントと併用したら便利でした。
766デフォルトの名無しさん:2007/08/24(金) 11:56:51
質問させてください。
継承コントロールでプロパティを追加した場合、デザイナでそのコントロールの該当プロパティを選択した時の説明文
(例えばFormのTextプロパティなら「コントロールに関連付けられたテキストです」)は、どこに書けば反映されるのでしょうか?
プロパティの<summary></summary>に書けば良いのかと思いましたが、そうではないようです。
解かる方、ご教示お願いします。
767デフォルトの名無しさん:2007/08/24(金) 12:16:58
DescriptionAttribute(属性)だったかな
768デフォルトの名無しさん:2007/08/24(金) 12:37:22
というか、そんなの自分で調べる能力がない人間がコントロールなんか作ると
間違いなくハマるよw
769デフォルトの名無しさん:2007/08/24(金) 12:44:16
.netでEE用のソースは問題なく使えますか?
770デフォルトの名無しさん:2007/08/24(金) 12:58:39
いーいーっていったいなんのことかな?
771デフォルトの名無しさん:2007/08/24(金) 13:00:02
いーいーではなくEEです。
772デフォルトの名無しさん:2007/08/24(金) 13:14:48
Erotic Elementary school girl
773766:2007/08/24(金) 13:19:07
>>767
ありがとう!

>>768
思いつく限りの単語で調べてみたけど、わかんなかったのよ!
774デフォルトの名無しさん:2007/08/24(金) 20:59:58
>>773
TextBox プロパティ

これでググったりMSDN見たりする頭もないのか
先行き不安だな
775デフォルトの名無しさん:2007/08/24(金) 21:12:15
>>774
>思いつく限りの単語で調べてみたけど、わかんなかったのよ!
776デフォルトの名無しさん:2007/08/24(金) 21:15:27
>>774
MSDNのメンバの説明ではDescription属性は省かれてる
777デフォルトの名無しさん:2007/08/25(土) 17:44:23
>>774
継承しているコントロールがTextBoxでも無い限り、そんな単語で検索しないと思うぜ?
778デフォルトの名無しさん:2007/08/27(月) 17:06:12
VC++から書き込まれた共有メモリを
OpenFileMapping()、MapViewOfFile()にて読み出しております。

VC++から
struct data{
char str1[256];
char str2[256];
char str3[1024];
}

という構造体、または構造体の配列が書き込まれた場合、
VB側ではどのようにすればそれぞれを受け取ることができるでしょうか
779778:2007/08/27(月) 18:03:29
一つ思い浮かびました

Private Declare Function MovePointer Lib "mydll" _
(ByVal ptr As IntPtr, _
ByVal movesize As Integer _
) As IntPtr

・・・他に真っ当な方法は無いでしょうか(汗
780デフォルトの名無しさん:2007/08/27(月) 18:05:03
Marshal.PtrToStructure
781778:2007/08/27(月) 18:31:03
>>780
ありがとうございます。
nAddress = MapViewOfFile(hOpened, FILE_MAP_READ, 0, 0, 0)
str1 = Marshal.PtrToStringAnsi(nAddress)
と先頭を取ることはできるのですが、

Public Structure DATASTRUCT
Dim str1 As String
Dim str2 As String
Dim str3 As String
End Structure
Dim cds As DATASTRUCT
cds = CType(Marshal.PtrToStructure(nAddress, GetType(DATASTRUCT)), DATASTRUCT)
ですと、
「オブジェクト参照がオブジェクト インスタンスに設定されていません」のエラーが出てしまいます。

Marshal.PtrToStructure()をどのように使えば宜しいでしょうか
782デフォルトの名無しさん:2007/08/27(月) 18:47:35
>>781
MSDNライブラリ読めばいいのに。
たぶんDATASTRUCTの定義が不適切。
http://msdn2.microsoft.com/ja-jp/library/795sy883(VS.80).aspx
783778:2007/08/27(月) 19:02:11
>>778
ありがとうございます。
どこを読めばいいのかさっぱりの状態でしたorz

Public Structure DATASTRUCT
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=256)> _
Dim str1 As String
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=256)> _
Dim str2 As String
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=1024)> _
Dim str3 As String
End Structure

としたところうまくいきました!
構造体のメンバのサイズを宣言できるんですね!
(散々ググったページには「できない」とあったのですが・・・)

大変助かりましたありがとうございましたm(_ _)m
784778:2007/08/27(月) 19:04:37
間違えました>>782さんでした。

>構造体のメンバのサイズを宣言できるんですね!
Stringのサイズ(固定長文字列)でした。。。
785778:2007/08/27(月) 19:22:55
申し訳ありません。

この構造体が配列で渡されたときの受け取り方をお教えいただければ幸いです。
786デフォルトの名無しさん:2007/08/27(月) 19:50:19
質問です。

エクセルの20個のファイルに(1a、2b・・・から20tとする)のファイル名
をそれぞれにつけて、とある1つのディレクトリにまとめて保存し
たそれらを一つずつオープンして、それぞれのファイルのSheet1
にあるセルの情報(それぞれのファイルで1行目(1,1)〜(1,40)に
まとめてある)を、情報をまとめるためのファイル「Answer」のSheet1に
1行ずつ出力するプログラムを教えていただけないでしょうか。
(最終的にはAnswerのSheet1は20行情報が貼り付けられることになります)

(ファイル名に規則性がなくても出来るのであればなお嬉しいです)

どうかよろしくお願いしますm(_ _)m
787デフォルトの名無しさん:2007/08/27(月) 20:09:38
788デフォルトの名無しさん:2007/08/27(月) 20:11:33
>>785
>>782の前後に書いてる
789デフォルトの名無しさん:2007/08/27(月) 22:10:29
programingなんてやめちまえよ。
たとえるなら、薬師みたいなもんだよ。
調合の材料を客先に持ち込んで、客に合わせて調合するんだ。
もちろん、調合の仕方を覚えてれば、調合は早いだろうけど、リファレンス見ながらでも誰も怒らないよ。
そんな覚える技術や努力なんて馬鹿みたいだし、そんなところにしか技術の差が出ないなんて悲しいよな。
てか、薬師よりおとるかもなぁ。。薬師なら、難病を治すために適切に薬を選べるけど、programmerは、言われたように作るだけだから。。
790デフォルトの名無しさん:2007/08/27(月) 22:22:11
薬師三尊像、まで読んだ
791デフォルトの名無しさん:2007/08/27(月) 22:26:37
薬で難病が治るまで読んだ。最後まで読んだ。
792デフォルトの名無しさん:2007/08/27(月) 22:38:58
薬買いにいって
えーと……とかって本見ながら調合始めたら引くよな
793デフォルトの名無しさん:2007/08/28(火) 09:39:51
>薬師なら、難病を治すために適切に薬を選べるけど、programmerは、言われたように作るだけだから。。

言われたようにつくるだけのマもいるけど、「こんなことできないかしら?できたらいいな!」って言われて、それを成す為の最適な方法を考案するマだっているさ。
何も言われずとも「こういうものをつくったら売れるんじゃないか!?」って創作するマもいるし、病人がいないと作ったものが効果を発揮しない薬師より、マの方がいろいろ可能性はあるさ。
調合、調整、やり直しが楽なところもマの魅力。
給料は低いが!!!!(つД`)
給料の為に働いてるマも多いだろうが、自分は創る行為自身が楽しくてマをつづけている。
794778:2007/08/28(火) 11:40:57
>>788
ありがとうございます。

プラットフォーム呼び出しによるデータのマーシャリング
http://msdn2.microsoft.com/ja-jp/library/fzhhdwae(VS.80).aspx
配下を読んでみました。
「Marshal.Copyというものがありアドレスから整数配列を取得することが可能」
ということはわかりましたが、
アドレスから文字列を含む構造体の配列を取得する方法
についてはどうしてもわかりませんでした。

勉強不足で申し訳ございませんが、ヒントをいただけませんでしょうか。
795デフォルトの名無しさん:2007/08/28(火) 12:44:00
>>794
とにかく一通りMSDNライブラリに目を通したほうがいいよ。

>>788がどういうつもりでああ書いているか知らないが、
恐らくArraysのサンプルが参考になるんじゃない?

あるいは、ドトネトのややこしいマーシャリングのルールに縛られるのが嫌なら、
アンマネージコードとの受け渡しは全部バイト配列でやって、Encodingとかその他使って
自分で必要に応じて手動で変換するのも一つの手かもね。
796デフォルトの名無しさん:2007/08/29(水) 21:56:59
文字列のバイト数返す方法ないですか?

"abc123"なら6を、"テストテスト"なら12を、"あ12い"なら6
を返す感じで・・・
797デフォルトの名無しさん:2007/08/29(水) 22:00:34
>>796
君はまず「文字列」の正体を勉強するのが先。
その後ではそういう「うかつ」なことは恥ずかしくていえなくなるだろう
798デフォルトの名無しさん:2007/08/29(水) 22:01:11
どういうやりかたで各文字のバイト数を数えるのかが問題だ
799デフォルトの名無しさん:2007/08/29(水) 22:05:40
>>798
ですよね・・・やっぱり無理か
800デフォルトの名無しさん:2007/08/29(水) 22:09:49
>>797
知らないならすっこんでろ糞虫(笑)
801デフォルトの名無しさん:2007/08/29(水) 22:11:50
string str = "シフトJISでは何byte?";

Encoding sjisEnc = Encoding.GetEncoding("Shift_JIS");
int num = sjisEnc.GetByteCount(str);

Console.WriteLine(num);
802796:2007/08/29(水) 22:16:51
>>801
即レスありがとうございます!助かりました!!
↑のレスは自分ぽいけど偽者です・・・

>>797
恥ずかしい奴、未だにC言語シコシコ組んでる人?
803デフォルトの名無しさん:2007/08/29(水) 22:17:54
夏だなあ
804デフォルトの名無しさん:2007/08/29(水) 22:20:06
>>802
本気で言ってるのか?
801がほのめかしているように、今時文字列のエンコーディングはANSI(S-JIS)
とは限らない。

まあ、こういう「幸せな馬鹿」に言っても通じないかな。
805デフォルトの名無しさん:2007/08/29(水) 22:24:13
夏だなあ
806デフォルトの名無しさん:2007/08/29(水) 22:26:20
少なくとも>>796
"abc123"なら6を、"テストテスト"なら12を、"あ12い"なら6
を見る限りにおいてはS-JISとみなしても正解だわな
807デフォルトの名無しさん:2007/08/29(水) 22:35:42
「文字のエンコード」という概念を796が知っていれば、
当然Encodingクラスについても知っているか、知らなくても容易に発見しているはずで、
それならばそもそも796のような質問は発しないだろう。

質問の文面や受け答えから見て、どうみても旧VBプログラマにありがちな、
理解しもせずサンプルをコピペして使うタイプの「お馬鹿さん」だろう796は。
808デフォルトの名無しさん:2007/08/29(水) 22:46:38
さしずめ>>797はそのお馬鹿さんの揚げ足を取って優越感を感じるタイプのカスかw
809デフォルトの名無しさん:2007/08/29(水) 22:47:38
>>807
>「文字のエンコード」という概念を796が知っていれば、
>当然Encodingクラスについても知っているか、知らなくても容易に発見しているはずで、

おまえニュータイプかよおまえニュータイプかよ(ふかわ風に)
810デフォルトの名無しさん:2007/08/29(水) 23:06:28
完全ド素人質問なんですけど、ラベルをキーボードの左を押したら左に自動で移動していって
それを左右上下できて、画面の端にいったら、反対側からでてくるようにするにはどうやったらいいんでしょうか?

サンプルソース等あればお願いします
811デフォルトの名無しさん:2007/08/29(水) 23:39:37
完全ド素人スパゲッターなんですが
うまくソースを絡めるにはどうすればいいんでしょう?

ビニール樹脂製のサンプルなどがあれば、すごく…欲しいです
812デフォルトの名無しさん:2007/08/30(木) 02:03:32
>>810
左を押したらなどはフォームのキーダウンイベントで取得
ラベルの移動はleftやtopをいじくる。
反対側から出てきるようにするにはleftとwidth、topとheightとか。
っていうかそれvbでやることなのか。

>>811
巷のプログラマーの間では
難しいプログラムをつくろうとすればするほどソースは絡みつく
と言われている。
813デフォルトの名無しさん:2007/08/30(木) 02:13:56
>>812
学校の課題です
もうずっとやってるのにできない・・・



もうあきらめてアホみたいな量の追加課題をやるか
814デフォルトの名無しさん:2007/08/30(木) 10:03:22
>>813
俺も勉強中の身なんで微妙だけど、こんなんでどうよ。

Private Sub MyBase_Down(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
Select Case e.KeyCode

Case Keys.Left
If Label1.Left < -Label1.Width Then
Label1.Left = Me.Size.Width
End If
Label1.Left = Label1.Left - 1

Case Keys.Right
If Label1.Left > Me.Width Then
Label1.Left = -Label1.Width
End If
Label1.Left = Label1.Left + 1

Case Keys.Up
' 処理

Case Keys.Down
' 処理
End Select
End Sub

上と下も同じような考えでおkなはず。
815814:2007/08/30(木) 10:11:24
追記。
これだと見えなくなってから出てくるまでに時間がかかるから、Ifの条件を弄った方がいいかも。
816デフォルトの名無しさん:2007/08/30(木) 10:48:29
とりあえずラベルを2つ使え。
そーすりゃあとは楽勝だと思うが。
817デフォルトの名無しさん:2007/08/30(木) 13:50:23
日本語でうまく説明できないやつは
ソースも糞な傾向が多い。
818デフォルトの名無しさん:2007/08/30(木) 14:10:18
まずは日本語を勉強したまえ
819デフォルトの名無しさん:2007/08/30(木) 15:09:53
まずVBの本を読め
820デフォルトの名無しさん:2007/08/30(木) 17:42:41
>>810
それほんとにラベルを使わないといけないの?
どう考えてもGraphics使って自前で描画するべき
821デフォルトの名無しさん:2007/08/30(木) 18:31:29
>>820
宿題を課したやつも素人なんだろw
Labelをキーで動かすことを学んで何の得になるんだろうなw
822デフォルトの名無しさん:2007/08/30(木) 18:43:21
初学者にWinフォームの基本(例えばフォーカスを失うとキーイベントは発生しない、
クライアント座標の座標系はデカルト座標ではない、とか)を体感させるには
悪くない課題だと思うけどね俺は。

というか、たかが文字列一つ動かすために自前で描画しろ、っていう奴は
恐らく自分でそんなことやったことがないんだろうねw

「ちゃんと」やろうと思ったら意外と面倒だよ。
例えばフォームにコントロールが配置してあったらどうするの?
描画するものが他にあったら、表示のプライオリティや移動した際の再描画は
どうするの?

他の描画の処理が仮に重いものだったとしたら?
無効化する領域を指定しても完全には解決できない場合があるぞ。
823デフォルトの名無しさん:2007/08/30(木) 20:35:55
今、マウスの移動できる範囲を制限するのをつくっているんですが
Windows.Forms.Cursor.Clip = New Rectangle(0, 0, 300, 300)
などとしているんですが、これだとほかの窓をアクティブにしたりすると
制限が解除されてしまいます。

何かいい方法はないでしょうか?
824デフォルトの名無しさん:2007/08/30(木) 21:19:48
そんな「悪意のあるソフト」ぐらい自力で作れよアホかw
825デフォルトの名無しさん:2007/08/30(木) 21:53:43
悪意って言いたいだけだろハゲ
そのものズバリのWin32apiが公開されてんだろ低能
826デフォルトの名無しさん:2007/08/30(木) 22:39:59
ClipCursorってのを使ってみたのですが
やはり解除されてしまうみたいです。
827デフォルトの名無しさん:2007/08/31(金) 09:47:18
>>822
そこまで考えた課題には見えないし、より深く考えるならそれこそラベルなんぞを動かそうという発想自体がナンセンスになる。
多分スレ違いなんだよな、ここの住人は「素人」や「初心者」に過剰反応するから、優しい人が初心者スレでもつくってあげればいい。
叩きや煽りにいちいち反応してたら、ここのスレ見てらんないぜ?
828デフォルトの名無しさん:2007/08/31(金) 12:44:37
>ラベルなんぞを動かそうという発想自体がナンセンスになる
だからラベルを動かすのは目的じゃなく手段でしょ。

何のための?
学習のためのだよ。

どうでもいいけど話の文脈(今何を話しているか?)を忘れるのは頭の悪い証拠だよ。
学校の課題として不適切、って寝ぼけたことを言う奴がいたから
必ずしもそうでもないだろって話をしてるんだけど。
829デフォルトの名無しさん:2007/08/31(金) 13:09:11
>>828
>叩きや煽りにいちいち反応してたら、ここのスレ見てらんないぜ?
830デフォルトの名無しさん:2007/08/31(金) 13:16:12
>>828
>学校の課題として不適切、って寝ぼけたことを言う奴がいたから
>必ずしもそうでもないだろって話をしてるんだけど。

質問スレで質問と関係ない話しないでくれる(^ω^;)?
831デフォルトの名無しさん:2007/08/31(金) 14:16:04
>>828
なんの話だよw
帰れ
832デフォルトの名無しさん:2007/08/31(金) 15:48:39
名前付パイプを使った通信をしております。
ttp://support.microsoft.com/default.aspx?scid=kb;ja;165942
等を参考にして以下の通り作成いたしました。

Private Declare Function WriteFile Lib "kernel32" ( _
ByVal hFile As Integer, _
ByVal lpBuffer As String, _
ByVal nNumberOfBytesToWrite As Integer, _
ByVal lpNumberOfBytesWritten As Integer, _
ByVal lpOverlapped As Integer _
) As Integer

Dim bool As Integer
Dim pipe As Integer
Dim size As Integer
pipe = CreateFile("\\.\pipe\mypipe", &H40000000, 0, 0, 4, &H80, 0)
bool = WriteFile(pipe, "ABC", 4, Size, 0)

以上を実行すると、受信側で"ABC"と4を取得し通信自体は成功はするのですが、
同時に送信側でエラーが発生してしまいます。

System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。
at abc.AbcvMain.WriteFile(Int32 hFile, String& lpBuffer, Int32 nNumberOfBytesToWrite, Int32 lpNumberOfBytesWritten, Int32 lpOverlapped)

WriteFileのどこに問題がありますでしょうか。
どんな些細な点でもかまいませんのでご指摘下さい。
833デフォルトの名無しさん:2007/08/31(金) 15:53:40
>>832
試してないが、
>ByVal lpNumberOfBytesWritten As Integer, _
これ API が書き戻すんだから ByRef じゃね?
834832:2007/08/31(金) 15:56:22
>>833
なんておマヌケorz

エラーが出なくなりました!
ご指摘ありがとうございました。
835デフォルトの名無しさん:2007/08/31(金) 17:31:11
自作クラスのString型プロパティを多言語対応させるには?
836デフォルトの名無しさん:2007/08/31(金) 17:36:27
>>835
頑張れ★
837デフォルトの名無しさん:2007/08/31(金) 18:36:52
>>835
イミワカンネ
838デフォルトの名無しさん:2007/08/31(金) 20:06:35
このスレ糸冬
839832:2007/08/31(金) 20:23:46
申し訳ありません。もう一つ疑問についてお教え下さい。
WriteFileEx()を用いて非同期の書き込み(読み出し)をしたいと思っております。
WriteFileEx()には関数のアドレスが必要なのですが、
それを得る方法がどうしてもわかりません。

ttp://dobon.net/vb/bbs/log3-8/4379.html
にも同様の質問があったため、上記ページ等を参考にして
以下のように作成いたしました。
---
Delegate Sub SampleDelegate()
Public Class sampleClass
Public Sub Method()
MsgBox("Method")
End Sub
End Class

Private Declare Function WriteFileEx Lib "kernel32" (ByVal hFile As Integer, ByVal lpBuffer As String, ByVal lpNumberOfBytesWritten As Integer, ByVal lpOverlapped As Integer, ByVal lpCompletionRoutine As SampleDelegate) As Integer

Dim instance As New SampleClass
' こちらは成功する
' bool = WriteFile(pipe, "ABCDEFG", 8, size, 0)
bool = WriteFileEx(pipe, "ABCDEFG", 8, 0, AddressOf instance.Method)
---
実行しますとWriteFileExでSystem.NullReferenceExceptionが発生いたします。

これはDelegateの扱い方が悪いのでしょうか?
それとももっと根本的なことが間違っているのでしょうか?

大変恐れ入りますがお教え下さい。
840デフォルトの名無しさん:2007/08/31(金) 20:46:33
>>839
根本的に間違ってるね。
そもそも非同期とはどういう意味なのか、理解してないんじゃないの?
あるいは自動変数のスコープの概念を知らないのかな。

メソッドの中で作った'instance'への参照はメソッド抜けるとなくなる。
そこはOK?

ドトネドにはガベージコレクターというものがあって……という話は理解してる?
841832:2007/08/31(金) 21:19:25
>>840
レスありがとうございます。

C言語レベルでしたらスコープ等は理解しております
VC++の非同期は多少は・・・知っているつもりです
ガベージコレクションがあることは初めて知りました。

ところで、メンバ変数/クラス変数として以下を宣言してみても同様のエラーでした。
Dim instance As New SampleClass
Dim m_address As SampleDelegate = AddressOf instance.Method

恐れ入りますが、他にポカがありましたらご指摘いただければと思います。
842デフォルトの名無しさん:2007/08/31(金) 21:54:49
コールバックされるメソッドのシグネチャも合ってないよね。
843832:2007/08/31(金) 23:29:29
>>842
レスありがとうございます。

VC++のように決まった形があるのかな、と意味も分からずに
Delegate Sub SampleDelegate(ByVal sender As System.Object, ByVal e As System.EventArgs)
Public Class SampleClass
Public Sub Method(ByVal sender As System.Object, ByVal e As System.EventArgs)
MsgBox("Method")
End Sub
End Class
としてみたところ、

System.Runtime.InteropServices.MarshalDirectiveException:
parameter #2 を集成できません。このクラスの型の定義にレイアウト情報がありません。

とエラーが変わりました。
この点調べてみたいと思います。
844デフォルトの名無しさん:2007/08/31(金) 23:35:54
ADO.netでOracleに接続する場合、ConnectStringって何を渡せばいいんですか?
ネットで検索しても伏字になっているところに具体的に何が入るのかわからなくて困っています。
845デフォルトの名無しさん:2007/08/31(金) 23:53:33
ListViewコントロールをArrayListにつっこんだんですけど、
そのつっこんだListViewのイベントって、どうやったらとれるのでしょうか?

Dim lvwFile As ListView = New ListView
arrLvwFile.Add(lvwFile)
arrLvwFile(arrLvwFile.Count - 1).View = View.Details

のばあいの、Listview1.mousedown とかほしいのでうs。
846デフォルトの名無しさん:2007/08/31(金) 23:57:09
Listview1 ってなんだよ唐突に出てきたけど
とれるとかほしいとか意味がわからん
847デフォルトの名無しさん:2007/09/01(土) 00:01:19
コントロール配列の場合は、

arrLvwFile(0) = New ListView
arrLvwFile(0).View = View.Details
AddHandler arrLvwFile(0).MouseDown, AddressOf test

でarrLvwFile(0)のMouseDownイベントでtest関数が呼べたのですが、
ArrayListに入れた場合がわからないのです。。
848デフォルトの名無しさん:2007/09/01(土) 00:12:00
AddHandler は遅延バインディングには無理なんだっけ
キャストすればいいだろ
849デフォルトの名無しさん:2007/09/01(土) 00:13:35
>>844
データソースとかの名前をどこから引っ張ってくるかという話しなら
以下のあたり見ておけばいいと思うけど。
ttp://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/win.102/B31247-01/featConnecting.htm
850デフォルトの名無しさん:2007/09/01(土) 00:29:31
>>848
AddHandler DirectCast(arrLvwFile(arrLvwFile.Count - 1), ListView).MouseDown, AddressOf test
でできました!感動のあまりちんこの先がぬれました
ありがとうございます。
851デフォルトの名無しさん:2007/09/01(土) 01:10:07
>>843
その調子じゃ、言っては悪いが調べても無駄そうだな。
>Public Sub Method(ByVal sender As System.Object, ByVal e As System.EventArgs)

こんなシグネチャがいったいどこから出てくるの?
アンマネージからコールバックされるのに、こんなドトネトのマネージコードの
イベントと同じシグネチャって変だとは思わないか?

WriteFileEx なんてドトネトが影も形もないころに仕様が決められたAPIでしょ。
852デフォルトの名無しさん:2007/09/01(土) 02:02:58
>>844
基本的にはオラクル接続に必要な

USER
PASSWORD
SID

をわたせばおk。
853デフォルトの名無しさん:2007/09/01(土) 02:16:47

どなたか Gilma (=ILMerge のGUIツール) および ILMerge を使ってる方が
居たら教えてください。

このユーティリティでは DLL がたくさんある場合のマージは難しいでしょうか?

比較的少なめの個数の DLL (数個程度) 使用では問題なくマージできるのを
確認していたんですが、10個ぐらい DLL が必要なものでやったところMerge が
最後まで行かず、 Done のメッセージが出ないまま、エラーのメッセージも出ずに
終了してました。結果として目的の Exe ファイルも作成されていませんでした。

最後の DLL のところで、Read successfully にはなっているのですが、その後の
2行目のメッセージが出ずに Log が終わっていました。そこで何かエラーしている
のかもしれないんですが、問題がなんなのかわかりませんでした。

もし似たようなことになったとき何か対策して解決されていた方いらっしゃったら
教えていただきたく。何卒よろしくお願いします。
854853:2007/09/01(土) 02:19:49
(追記)

>>853 ですが、コマンドラインのテキストは、 DLL が少ない場合のときと同様
に規則通りできているようでした。

DLL マージ前の状態での動作確認は一応OKで、DLLが無くて動作しない、
という状況ではありませんでした。

855デフォルトの名無しさん:2007/09/01(土) 02:31:56
なんでそんなにDLLって嫌われるんだろうね
856832:2007/09/01(土) 03:27:10
>>851
レスありがとうございます。

恥ずかしながらアンマネージやらマネージやらは初めて聞きました。
色々調べてみます。

#Unix選手がゲイツを何も知らずにいきなり.NETってのはかなり無謀ですね・・・
857デフォルトの名無しさん:2007/09/01(土) 04:20:06
つーかUnix使ってたらCつながりでC#に行かないか普通?
まあ仕事なら仕方ないがチーン
858デフォルトの名無しさん:2007/09/01(土) 07:58:15
>>852
SIDは違うんじゃね。
859デフォルトの名無しさん:2007/09/01(土) 09:43:39
tnsnameだね。sid渡すのはjdbcだね
860デフォルトの名無しさん:2007/09/01(土) 09:59:08
>>849
>>852
>>858
>>859
ありがとうございます。
でもどのページを見ても
「データベースに接続したことはあるけど細かい設定があいまいな人」用って感じで
データベースに接続するのがまったく初めてで独学の人には難しいんですよ。
Common SQL Environment ってソフトでは
ユーザーIDとパスワードと接続文字列ってやつを渡すと繋がりますが、
ConnectStringにはこの接続文字列ってのは渡さなくてもいいんですか?
861デフォルトの名無しさん:2007/09/01(土) 10:02:43
初心者で独学で、なぜにoracle
862デフォルトの名無しさん:2007/09/01(土) 11:05:42
>>856
参考になるかどうか解らんが↓
  コールバック関数の実装
  http://msdn.microsoft.com/library/ja/cpguide/html/cpconusingcallbackfunctions.asp?frame=true
863デフォルトの名無しさん:2007/09/01(土) 11:09:11
すいません。一つ質問させてください。
VB2005でテキストボックスに入力されている文字が
10進数か判断するにはどうすればいいでしょうか?
IsDigitは1文字しか調べられないようだし
IsNumericは数字以外もTrue扱いだし・・・
864デフォルトの名無しさん:2007/09/01(土) 11:13:30
一文字ずつIsDigitとか
まあ正規表現使った方が手っ取り早いけど
でもいわゆる全角の数字とか考えてるのかな
865デフォルトの名無しさん:2007/09/01(土) 11:14:16
>>863
文字と数値の判別なら、あげた関数等を駆使すれば可能だろう。

だが、10進数かどうかを判別するのは不可能。
866デフォルトの名無しさん:2007/09/01(土) 11:40:27
プレフィクスのついてない数字を10進判定なんてできないだろ常識的に考えて……
867863:2007/09/01(土) 12:02:45
お答えをいただきありがとうございました。
やっぱりあの2つでは駄目なんですね・・・
ただ言われたとおり正規表現使えば出来そうですので
そっちを使ってロジック組むようにしてみます。
868デフォルトの名無しさん:2007/09/01(土) 12:28:41
すんません、
vb.net2005で
MIDI音源で音を出したいのですが
やり方が全くワカリマセン。

例えば
ドのボタンを押したらドがなるなどということです。
使用するクラスとか、関数とかなんでもいいので教えてもらえないでしょうか。

また、別途ツール等が必要ならその情報でもいいです。オネガイシマス
869デフォルトの名無しさん:2007/09/01(土) 12:31:40
870デフォルトの名無しさん:2007/09/01(土) 12:39:27
>>860
まずプログラムからじゃなく、
SQLPLUSとかで接続してみなよ。
で接続できるか確認しましょう。
871デフォルトの名無しさん:2007/09/01(土) 13:03:03
>>870
いえ、CSEなどでは接続成功しています。
ただADO.NETのConnectStringに渡す文字列がわからない状態です。
872デフォルトの名無しさん:2007/09/01(土) 13:40:22
オラクルのクライアントが入ってるんならでダメかな?

Dim hoge As Oracle.DataAccess.ClientOracleConnection
Dim str as String

'接続文字列
str = "User Id=" & ユーザー名 & ";Password=" & パスワード & ";Data Source=" & サービス名

hoge = New OracleConnection(str)
hoge.Open()
873デフォルトの名無しさん:2007/09/01(土) 13:42:02
>>871
ツールボックスからフォームにOracleConnectionを貼り付けて、
プロパティのConnectionStringで<新しい接続>を選択すると簡単だよ。
OracleConnectionがないときは、ツールボックス アイテムの選択で追加してね。
名前空間がSystem.Data.OracleClientのを使ってね。
874デフォルトの名無しさん:2007/09/01(土) 16:42:21
>>872-873
ありがとうございます。
無事接続できました。
875デフォルトの名無しさん:2007/09/01(土) 21:40:01
VB2005です。

自分の実行ファイルのディレクトリをコードで取得するコードをお願いします。
VBAのThisWorkbook.Pathみたいな感じ。
876デフォルトの名無しさん:2007/09/01(土) 21:54:17
自己解決じました
877デフォルトの名無しさん:2007/09/02(日) 01:02:42
>>189使う。
でもVBのライブラリ参照したらその機能あった気がするのでそっちのがいいかな?

878デフォルトの名無しさん:2007/09/02(日) 01:03:27
まちかえたよ?
879デフォルトの名無しさん:2007/09/02(日) 15:00:26
If System.IO.File.Exists(filename) = False Then
System.IO.File.Create(filename)

Dim sw As New System.IO.StreamWriter( _
filename, _
False, _
System.Text.Encoding.GetEncoding(932))

sw.WriteLine(”あいうえお”)
sw.WriteLine()
sw.Close()
End If

こんなコード書きました
filenameにはフォルダパス付きファイル名が入ります
ファイル作った後sw をnewする時点で
他のプロセスが使用中というメッセージが出て書き込めません。
使用できる状態にするにはどんなコードを追加すればいいですか?

880デフォルトの名無しさん:2007/09/02(日) 15:07:39
File.Create しらべれ
881デフォルトの名無しさん:2007/09/02(日) 15:18:37
解決しました。
882デフォルトの名無しさん:2007/09/02(日) 23:59:31
エンコードで質問です。
System.Web.HttpUtility.UrlEncodeを使ってURLエンコードをしたいのですが
UTF-8のタイプでエンコードされています。
EUC-JPのタイプでエンコードしたいのですが、うまくいきません
System.Text.Encoding.GetEncoding("EUC-JP")こうしてバイト配列にしてもダメでした
どうやればいいのでしょうか?
883デフォルトの名無しさん:2007/09/03(月) 00:06:36
>>882
URLエンコードなんてやったこともなかったが、ググったら30秒で答え見つかったぞ。
http://www.atmarkit.co.jp/fdotnet/dotnettips/212urlencode/urlencode.html
884882:2007/09/03(月) 00:56:07
自己解決しました。
エンコード方法を指定できたのですね・・・
885デフォルトの名無しさん:2007/09/03(月) 02:11:06
お前は聞いといて回答を見てないのかw
886デフォルトの名無しさん:2007/09/03(月) 15:42:38

ExplorerがWindowsから受け取っているような、
Folder内の内容が変わったことを知らせるメッセージを受け取る方法
はあるでしょうか。

数秒おきに監視するという仕組みを導入すると
ファイルがたくさん存在する場合、時間がかかってCPUの占有率が100%
から落ちて来ず、困るのでした。

Explorerの場合、直接コピペしたりD&Dしたりした場合でなくても、
他で変化させたファイルやフォルダーが1秒程度で反映しており、
また常時監視もしていないことがわかりました。

これはたぶんWindowsからのメッセージを受け取っていて実現できている
ものと想像したのでした、これと同じメッセージかなにかを別のアプリケーション
で受け取ることは可能でしょうか?何かアドバイスを戴ければありがたく。
887デフォルトの名無しさん:2007/09/03(月) 15:47:04
>>886
FileSystemWatcher
888886:2007/09/03(月) 15:54:01
>>887

おお。存在したのですね!助かりました!!
さっそくのご指導、大変ありがとうございました!!
889デフォルトの名無しさん:2007/09/03(月) 18:54:47
MSチャートコントロールについて質問です。
棒グラフに表示する値が100万以上の時、棒グラフにはきちんと「1000000」と表示されるのですが、
Y軸の値が「1e+006」みたいに表示されてしまいます。「1e+006」ではなく「1000000」のように表示させる事は可能でしょうか?
可能ならばどのようにするのかご教授お願いします。
890デフォルトの名無しさん:2007/09/03(月) 22:16:22
MVCのModel部分を型付きDataTableで取り扱う場合
Data型やInt型でNULLを入れることができないんですけど
皆さんはどうしていますか?
別にModel用のクラスを作成するべきでしょうか。

891デフォルトの名無しさん:2007/09/03(月) 23:33:56
入れられるだろ
892デフォルトの名無しさん:2007/09/04(火) 09:02:45
DataTableの型の問題なんじゃないか?
893デフォルトの名無しさん:2007/09/04(火) 10:27:26
SetXXXDBNullみたいな関数が自動で生成されなかかったっけ?
894デフォルトの名無しさん:2007/09/04(火) 19:20:07
指定したシートが存在するか検索を行うメソッドを書いてみたのですが
うまいことプロセスが解放されないのです。
以下はソースです。

Public Function IsSheetExist(ByVal sheetName As String, ByVal fileName As String) As Boolean
Dim xlApp As Excel.Application
xlApp = New Excel.Application
xlApp.DisplayAlerts = False
Dim xlBooks As Excel.Workbooks = xlApp.Workbooks
xlBooks.Open(fileName)
Dim xlBook As Excel.Workbook = _workbooks.Item(1)
Dim xlSheets As Excel.Sheets = xlBook.Worksheets

Try
For i As Integer = 1 To xlBook.Worksheets.Count
'' シート名が存在すればTrueを返す
If String.Equals(DirectCast(xlSheets.Item(i), Excel.Worksheet).Name, sheetName) Then
Return True
End If
Next

Return False
895デフォルトの名無しさん:2007/09/04(火) 19:20:48
続きです

Catch ex As Exception
Throw ex
Finally
MarshalReleaseComObject(xlSheets)
xlBook.Close(False)
MarshalReleaseComObject(xlBook)
MarshalReleaseComObject(xlBook)
MarshalReleaseComObject(xlBooks)
xlApp.Quit()
MarshalReleaseComObject(xlApp)
End Try
End Function

Private Sub MarshalReleaseComObject(ByRef objCom As Object)
'' COM オブジェクトの使用後、明示的に COM オブジェクトへの参照を解放する
Try
'' 提供されたランタイム呼び出し可能ラッパーの参照カウントをデクリメントします

System.Runtime.InteropServices.Marshal.ReleaseComObject(objCom)
Catch
Finally
'' 参照を解除する
objCom = Nothing
End Try
End Sub
896デフォルトの名無しさん:2007/09/04(火) 19:30:20
ぬるりふぁれんすえくせぷしょんになりそうだけど…

ところでキャッチしてスローして何がしたいのん?
897デフォルトの名無しさん:2007/09/04(火) 19:36:50
>>894
酷いコードだな。

よくいわれる、COMラパーは使い終わったらReleaseComObjectしろってのは
個人的には嘘臭いと思ってるんだが、仮に正しいとすれば、

>xlSheets.Item(i)
この部分は問題あるでしょ。
暗黙的にワークシート参照してないか?

>>896
そこは別におかしくない。
898デフォルトの名無しさん:2007/09/04(火) 20:06:02
あれ?SheetとかラッパクラスにDisposeなかったっけ?
マーシャルリリースしてDisposeでいけないのか?
899デフォルトの名無しさん:2007/09/04(火) 20:33:24
間違いがあったので追記
×→Dim xlBook As Excel.Workbook = _workbooks.Item(1)
○→Dim xlBook As Excel.Workbook = xlBooks.Item(1)

>>896
これは共通DDLの一部でして
エラーを投げて、大元のプロジェクトでエラーログを書き出してます

>>897
For文の中でExcel.Sheetを生成してやってみます
その場合、生成する度にオブジェクトの参照を解放しないと云々
というのは調べたサイトにも大抵書いてありましたが、知識が及ばないです

>>898
Disposeは試してませんでした。


みなさまご教授ありがとうございました
900デフォルトの名無しさん:2007/09/05(水) 00:03:15
>個人的には嘘臭いと思ってる
詳しく
901デフォルトの名無しさん:2007/09/05(水) 00:05:49
>>896
>そこは別におかしくない。

いやおかしいだろ。
実質正常に動作するってことはあったとしても。
だいたいなんでNothingセットなんて意味ないことしてんだ?
902デフォルトの名無しさん:2007/09/05(水) 00:13:30
「そこ」 = キャッチしてスローして

ちなみに、Nothingぶち込むのも894の文脈では無意味ではない。
まあ、この手の話はググレればたくさん出てくるとおもうから調べてみ。
903デフォルトの名無しさん:2007/09/05(水) 00:28:32
>キャッチしてスローして
あえてスタックトレース消したいとかならそうだがそんなこと考えてるとは思えない。

>ちなみに、Nothingぶち込むのも894の文脈では無意味ではない。
>>894では確かに動作に影響自体はあるけどなんのため?
普通こうやるというようなもんなの?
904デフォルトの名無しさん:2007/09/05(水) 00:36:33
>この手の話はググレればたくさん出てくるとおもうから調べてみ。
どの手でググればいいのかわからないんだが、キーワードを教えてたもれ。
ていうかCOMラッパのリリースの話なのかNothingの扱いの話なのか…?
905886:2007/09/05(水) 00:53:49

>>886です。お世話様です。

FileSystemWatcher にて File や Directory の変更等のイベントに対応しつつあります。

そこで 「削除」 イベントの場合で、

FileSystemWatcher.Deleted(source As Object, e As FileSystemEventArgs)

の e.FullPath や e.Name でパスまたは名称を知ることができますが
それが File であったか、それとも Directory であったかを知るにはどうしたら
いいか不明でした。どうもHelpを見たところでは FileSystemEventArgs には
その区別を知るためのプロパティがなさそうなのですが、
これを知るには何を使えばいいでしょう?

よろしくお願いします!
906886:2007/09/05(水) 00:56:51
>>905 

削除以外のものでは、ファイルにしろディレクトリにしろ存在しているものは
確認ができるのですが、削除ですとすでに実体が無いため確認できなかった
のでした。

それとも、現物を確認せずに種類を知る方法があったでしょうか?
907デフォルトの名無しさん:2007/09/05(水) 00:59:10
>>903
CPUにとっては意味ないけど「プログラミング作法」的な意味はあるんだよ。
コードを後で読み返すとき、あるいは改造する時のことを考えればわかるでしょ。

後段の件についてはドトネトからエクセルのCOMラッパーを操作するコードを
扱ってるところではたいがいももれなく解説してるよ。
908デフォルトの名無しさん:2007/09/05(水) 01:18:18
>CPUにとっては意味ないけど「プログラミング作法」的な意味はあるんだよ。
プログラミング作法としてスタックトレースは消すべきだ、とでも言う気かお前は。

>後段の件についてはドトネトからエクセルのCOMラッパーを操作するコードを
>扱ってるところではたいがいももれなく解説してるよ。
わからん、Nothingを代入することに意味があると?
その場でGC.Collectでもするならともかく。

それとも開放済みの区別がつくようにするためか?
そうなら普通はFinalReleaseComObject使って、使う前にNothingチェックをすると思うが。
あんな変なやり方は見たことがない。

909デフォルトの名無しさん:2007/09/05(水) 01:20:07
>そうなら普通はFinalReleaseComObject使って、使う前にNothingチェックをすると思うが。
ああ、これはおかしいかも。
いずれにしてもわざわざNullReferenceExceptionを出させてキャッチして無視するのが変だといってる。
910デフォルトの名無しさん:2007/09/05(水) 01:37:57
>CPUにとっては意味ないけど「プログラミング作法」的な意味はあるんだよ。
負荷が高くなるって意味はあるけどな。
メソッドごとにやるとか勘弁してほしい。
まあ負荷以前にスタックトレースがまったく残ってないんだがw
911デフォルトの名無しさん:2007/09/05(水) 01:46:40
>>908
ああ、
>Throw ex
これがThrowじゃないことに文句を言っているのならそれに関しては一理はある。
こんな場面でスタックトレースに固執する理由があるとも思えないけど、
895のコードはキャッチした例外をInnerExceptionに設定して別の例外オブジェクトを
作ってるわけでもなく、拾ったものをそのまま投げてるだけだからね。

>キャッチしてスロー
すること自体はなにも変じゃないけど。
912デフォルトの名無しさん:2007/09/05(水) 01:53:46
変だよ
何も処理せずラップもしないならキャッチすることに意味がない。
それを
>CPUにとっては意味ないけど「プログラミング作法」的な意味はあるんだよ。
といってるんだろうけど、こんなことで負荷を増やすほどメリットがあるとも思えない。

>こんな場面でスタックトレースに固執する理由があるとも思えないけど、
場面の問題じゃないってのはわかるだろう。

じゃあ他のメソッドなら、スタックトレースがほしそうなとこなら単にThrowで使い分けるのか?
>CPUにとっては意味ないけど「プログラミング作法」的な意味はあるんだよ。
どんなプログラミング作法だよ。

一般的には意味のない無駄なキャッチはしないのが作法だよ。
913デフォルトの名無しさん
ああ、そうじゃない、気になるのはNothingの方なんだよorz