ふらっとC♯(Part5)

このエントリーをはてなブックマークに追加
952デフォルトの名無しさん:2005/07/18(月) 15:22:14
>>951
CollectionBaseクラスの解説に実装例があるよ
953デフォルトの名無しさん:2005/07/18(月) 17:58:15
自アプリ以外のアクティブなウインドウの
ウインドウハンドルを取得するにはどうすればいいの?
954デフォルトの名無しさん:2005/07/18(月) 18:06:21
>>953
それはこっちで聞いたほうがいい。

Win32API質問箱 Build33
http://pc8.2ch.net/test/read.cgi/tech/1120153520/
955デフォルトの名無しさん:2005/07/18(月) 18:15:24
むしろこっちで聞いた方が良い。
ttp://www.google.co.jp/
956953:2005/07/18(月) 18:32:45
>>954-955
レスありがとう。
GetForegroundWindow で出来るようですね。
くだらないこと聞いてごめんなさい。
957デフォルトの名無しさん:2005/07/18(月) 22:04:31
ちょっと質問ですっ
ExpressBeta2で、DataGridViewやってます。
今、DataSourceとDataMemberをそれぞれ、dataset 及びそのtable
に設定し、且つユーザーの削除を有効にしています。
AllowUserDelete True
でも、マウスクリックによりセルを選択状態にし、
キーボードより、デリートキーを押しても
そのセルを含む行が削除されてくれません。
これは何が原因と考えれらるでしょうか。
ずっとネット検索してるんですけど、
いまだ解決できません・・・(T_T)
よろしくお願いします。
                以上

WinXPsp2

なお、この投稿は他の掲示板からの二重投稿になります。
前の掲示板(C#関係)でスルーされてしまいました。
資源を浪費してすみません、偉い人。
958デフォルトの名無しさん:2005/07/18(月) 22:15:45
そのプロパティ名をよく見て見ろ。
AllowUserToDeleteRows
だろう。
セル=Column(s)じゃなくて行=Row(s)を選択せにゃならんよ。
959デフォルトの名無しさん:2005/07/18(月) 22:19:30
Column はセルじゃなくて列じゃなかったかなぁ……
960デフォルトの名無しさん:2005/07/18(月) 22:23:27
おうそうだ
まあ細かいことは気にするなニュアンスだニュアンス
961957:2005/07/18(月) 22:26:13
SelectionModeをFullRowSelectとなるように
プロパティを変更したらうまくいったじゃねーかよ(><

列が1つしかなかったから、気づかなかった○rx

ありがとな、えろいひと。
962957:2005/07/18(月) 22:28:53
1浪(row)2浪(row)の方々は、上下に積み重なって死んでいくから、
ROWは、上限に重なるもの、つまり行だよ☆

覚えた??
963デフォルトの名無しさん:2005/07/18(月) 22:33:41
まあなんだ、空気読もうな。
964957:2005/07/18(月) 22:38:50
ごめん
965デフォルトの名無しさん:2005/07/19(火) 02:54:39
>>962
感動した
966デフォルトの名無しさん:2005/07/19(火) 08:14:30
2つ程質問させてください。
今、いらないファイル(logファイルとか)を

勝手に消してくれる常駐ソフトを作ろうと
しているのですが、最小化したときにタスクバー
に突っ込むのはどうしたらよいのでしょうか?
ぐぐっても全然出てこないので困っていますorz
2つめは、監視するところを、複数のスレッド
に分けて処理しようと思ったのですが、試しに
threadを使ってみると、なんか変なエラーが
出て来てしまいます(只今外出中につき正式な
名称は不明 スマソ)。
そいつをtry catch文を使って回避しても、
別のエラーが出て来てしまいます。
それだけならまだ自分の入力ミスで済まされる
のですが、本や他のHPに載っている例題を
使ってもこのエラーが出て来やがります。
これはどうしたらよいのでしょうか?
長文ダラダラすいません orz
967966:2005/07/19(火) 08:17:37
追記
使っていたのは2005のベータ1でした。
ベータ2はまだ試してません。
連投スマソ
968デフォルトの名無しさん:2005/07/19(火) 08:23:37
一つ目はタスクトレイに格納するって事だな?
NotifyIconクラスを使う。

二つ目はコード出せ。最低限、例外名出せ。
969966:2005/07/19(火) 13:22:50
>>968
ただいま外出中のため無理でつ orz
夜あたりに帰ったらベータ2で試したあとに
コードと例外名上げるので・・・
970デフォルトの名無しさん:2005/07/19(火) 14:34:48
> なんか変なエラーが出て来てしまいます
神レベルの質問者だな
971966:2005/07/19(火) 23:51:40
>>968
とりあえず試しに作ってみたやつのコード

using System.Threading;


Thread thread_1;
private void button1_Click(object sender, EventArgs e)
{
thread_1 = new Thread(new ThreadStart(start));
thread_1.Start();
}

private void start()
{
for (long i = 0; ; i++)
{
textBox1.AppendText(i.ToString());
   }
}

private void button2_Click(object sender, EventArgs e)
{
thread_1.Abort();
}

てので、button1をおすとInvalidOperationExceptionという例外が出てきてしまいます。
本についてたサンプルも、開始ボタンを押すとこれが出ます
972デフォルトの名無しさん:2005/07/20(水) 00:06:56
>>971
例外を書くときは例外メッセージを余すところ無く書くように。

で、WindowsのGUIにおいて、コントロールを作ったスレッド以外のスレッドからのコントロールの操作は、動作が「保証されない」。
だから別スレッドからコントロールを操作する場合、コントロールを作ったスレッドに操作を依頼するのが正しい。
それを実現するのがControl.Invoke/BeginInvokeメソッドだ。
973966:2005/07/20(水) 06:38:51
寝てしまった…orz
>>972
Control.Invoke/BeginInvokeメソッド…
聞いた事がないな orz

いろいろぐぐってみますが、また分からなかったら
質問させてください。

ありがとうございました。
974デフォルトの名無しさん:2005/07/20(水) 08:09:29
Control.Invoke/BeginInvokeで思い出した。

とっとと2.0の匿名メソッドとパーシャルクラスщ(゚Д゚щ)カモォォォン
975デフォルトの名無しさん:2005/07/20(水) 18:39:36
リテラル文字列の前にあるアットマークにはどんな意味があるのでしょうか?
@"C:\ABC.txt"

これ
976デフォルトの名無しさん:2005/07/20(水) 18:51:13
>>975
"C:\\ABC.txt"
977デフォルトの名無しさん:2005/07/20(水) 21:02:52
構造体への参照をメンバに持つには、ポインタを使うしかないんですか?
978デフォルトの名無しさん:2005/07/20(水) 21:09:38
Object にボクシングしとけば一発解決
979デフォルトの名無しさん:2005/07/20(水) 22:44:50
>>978
int i = 0;
object o = i;

とやると、oにはiの参照ではなくて値のコピーが代入されてしまうようです。
iをobject型にすれば参照渡しできそうですが、それだとちょっと不便です。
980デフォルトの名無しさん:2005/07/20(水) 22:52:56
ああ。構造体への参照じゃなくて変数への参照か
………やりかたはいろいろあるけど、なんとなく設計そのものが奇妙な気がする

とりあえず、『構造体を持つオブジェクトを作り、それを持つ』 のが適当かつ簡単かと
981 :2005/07/20(水) 23:58:27
質問したいことがあります
よろしくおねがいします

public override void scanEntry()
{
  string[]myComputer = Directory.GetLogicalDrives();

  foreach (string strDrives in myComputer)
{
  bool IsExist = false;
  foreach (DriveComposite drive in lstDriveEntry)
  {
    if (drive.FileName == strDrives)
    {
IsExist = true;
break;
    }
    if (!IsExist)
    {
      addFolder(new DriveComposite(strDrives));
    }
  }
}
情報不足であることは勘弁してください
上記のような処理にすれば問題はおこらなくなるのですが
IsExist みたいなフラグを持たないコーディングにはできないでしょうか?
キーワードだけでいいのでご教示ください
982デフォルトの名無しさん:2005/07/21(木) 00:09:15
メソッドに切り出し
983デフォルトの名無しさん:2005/07/21(木) 09:33:42
はじめまして、C#を初めてまだ3ヶ月の初心者です。
質問ですが、C#でOLEDRAWを利用するサンプルってあるのでしょうか?
http://www11.plala.or.jp/acaccelerator/programming/cstips.html#DrawControlImage
のコードを使った下記のようなコードを書いてみましたが動作しませんでした orz
何が悪いかご教授して頂けないでしょうか?

-----------------------------------
Graphics grfInst ;
Point pntLocation = new Point( 0, 0);
//
grfInst = pictureBox1.CreateGraphics();
grfInst.Clear(Color.White);
//
//ここでpictureBox1にaxWebBrowser1の内容が表示されるはず・・・
DrawControlImage(grfInst , axWebBrowser1 , pntLocation);
//
grfInst.Dispose();
-----------------------------------
984デフォルトの名無しさん:2005/07/21(木) 10:16:17
AxWebBrowserならそのすぐ下にコードがあるが。
985デフォルトの名無しさん:2005/07/21(木) 10:18:43
わざとだろ
986デフォルトの名無しさん:2005/07/21(木) 11:13:40
イベントを追加する簡単な方法はないでしょうか?
VB.netだと上のコンボボックスから選択するだけで簡単に追加できますよね。
987デフォルトの名無しさん:2005/07/21(木) 11:19:44
プロパティグリッドの雷マーク
988977:2005/07/21(木) 11:20:59
>>980
そうですね。設計を見直してみます。
ありがとうございました。
989986:2005/07/21(木) 11:22:11
>>987
目から鱗とはまさにこのことですね。

ありがとうございます。
990デフォルトの名無しさん:2005/07/21(木) 11:45:59
983です
「DrawControlImage」と「DrawWebBrowserImage」の間違いに今気がつきました。
こんな単純な事に気がつかないとは・・・申し訳ないです。

現状ですが、「DrawWebBrowserImage」でJPEGなどの画像ならイメージを作成できたのですが
WORDやEXCELだと、イメージが作成されないのですが、OleDrawではWORDやEXCELのイメージ
は作成する事ができないのでしょうか?
今考えているのは、WORDやEXCELの印刷時の1ページを、JPEGなどの画像で保存できるか?
という事なのですが・・・
991デフォルトの名無しさん:2005/07/21(木) 22:10:39
「WORDやEXCELの印刷時の1ページを、JPEGなどの画像で保存」したいなら、FinePrintの体験版を使え。
992デフォルトの名無しさん:2005/07/22(金) 01:13:14
>>991
なるほど、こんな便利な物があるんですね。

素人的な考えなのですが、このような機能を作るの
はかなり難しいのでしょうか?

素人の戯言ですが、他のソフトができている事が
自分にはできないってのが非常に悔しいです。
993デフォルトの名無しさん:2005/07/22(金) 01:34:37
それで金が取れるほどには難しいと考えるのが自然だろ。
作ろうと思えば実際に存在する以上作れるのは間違いないんだし。
994デフォルトの名無しさん:2005/07/22(金) 08:34:53
>>993
そうですよねぇ・・
今回はFinePrintを使ってみます、ありがとうございました。
995デフォルトの名無しさん:2005/07/22(金) 11:08:38
ume
996デフォルトの名無しさん:2005/07/22(金) 11:09:36
ume
997デフォルトの名無しさん:2005/07/22(金) 11:10:08
ume
998デフォルトの名無しさん:2005/07/22(金) 11:10:43
998
999デフォルトの名無しさん:2005/07/22(金) 11:11:25
999
1000デフォルトの名無しさん:2005/07/22(金) 11:18:31
新スレマダー?
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。