C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 >>
■69636  Re[1]: シンボルの検索結果をすべてコピー
□投稿者/ shu -(2014/01/15(Wed) 18:00:01)
    No69634 (morimori さん) に返信

    目的は何でしょう?
    その手段以外で方法があるかもしれません。
記事No.69634 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69641  Re[2]: シンボルの検索結果をすべてコピー
□投稿者/ morimori -(2014/01/16(Thu) 09:00:46)
    No69636 (shu さん) に返信
    > ■No69634 (morimori さん) に返信
    >
    > 目的は何でしょう?
    > その手段以外で方法があるかもしれません。

    たとえばこのように、メッセージボックスを使っている部分の一覧を作って
    修正時間の目安を考えたり、修正個所の特定、また修正による影響を考える材料にしようと考えております。

    フォルダ名\Form1.cs,(23, 24),MessageBox.Show("test1");
    フォルダ名\Form1.cs,(28, 24),MessageBox.Show("test2");
    フォルダ名\Form1.cs - (33, 24), MessageBox.Show("test3");
記事No.69634 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69642  Re[3]: シンボルの検索結果をすべてコピー
□投稿者/ shu -(2014/01/16(Thu) 09:28:36)
    No69641 (morimori さん) に返信
    > ■No69636 (shu さん) に返信
    >>■No69634 (morimori さん) に返信
    >>
    >>目的は何でしょう?
    >>その手段以外で方法があるかもしれません。
    >
    > たとえばこのように、メッセージボックスを使っている部分の一覧を作って
    > 修正時間の目安を考えたり、修正個所の特定、また修正による影響を考える材料にしようと考えております。
    >
    > フォルダ名\Form1.cs,(23, 24),MessageBox.Show("test1");
    > フォルダ名\Form1.cs,(28, 24),MessageBox.Show("test2");
    > フォルダ名\Form1.cs - (33, 24), MessageBox.Show("test3");

    この例であればMessageBoxをキーワードにして全ファイル検索をすればよい気がします。

    変数の使用箇所を見る場合でも単純な名称のものでなければ同様の方法が補助的に使用できるかと思います。

記事No.69634 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69651  Re[4]: シンボルの検索結果をすべてコピー
□投稿者/ morimori -(2014/01/17(Fri) 10:18:25)
    そうですね。
    回答ありがとうございます。
記事No.69634 のレス / END /過去ログ119より / 関連記事表示
削除チェック/

■69644  CheckBoxのチェックマークの反映
□投稿者/ ザイーガ -(2014/01/16(Thu) 15:02:49)

    分類:[VB.NET/VB2005 以降] 

    こんにちは。
    CheckBoxのCheckedChangedイベントで、RichTextBoxのデータを処理するような処理を行っています。
    ただ、この処理は数秒かかることもあり、例えばチェックボックスをクリックしても、
    この処理が終了しないと、GUI上のチェックボックスのチェック表示が反映されません。
    このため、利用者がチェックボックスのチェックがうまく反映されていないと誤解し、
    何度もチェックボックスをクリックしてしまう恐れがあります。

    そこで、色々と試していくうちに、チェックボックスのEnabled属性を切り替えることで
    チェックボックス表示が反映されることが分かりました。
    チェックボックスのチェック変更後の処理時にはチェックボックスのクリックを無効にしたいので、
    例えば以下のようなコードを書いてみました。
    (数秒かかる処理の代わりに、Thread.Sleepを使っています。)

    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
    CheckBox1.Enabled = False
    System.Threading.Thread.Sleep(2000)
    CheckBox1.Enabled = True
    End Sub

    これだと、クリック後のチェック表示は切り替わるのですが、
    チェックボックスのEnabled = Falseの時にチェックボックスをクリックすると、
    その時のチェックが無効にならず、Enabled = Trueに戻った後にまたチェック処理が走ってしまいます。

    今回のケースで、チェックボックスのEnabled = Falseの時のクリックは無効にできないものでしょうか?
親記事 /過去ログ119より / 関連記事表示
削除チェック/

■69645  Re[1]: CheckBoxのチェックマークの反映
□投稿者/ 魔界の仮面弁士 -(2014/01/16(Thu) 15:52:29)
    2014/01/17(Fri) 02:14:42 編集(投稿者)

    No69644 (ザイーガ さん) に返信
    > この処理が終了しないと、GUI上のチェックボックスのチェック表示が反映されません。
    Refresh メソッドで反映されるかと思います。


    > チェックボックスのEnabled = Falseの時にチェックボックスをクリックすると、
    > その時のチェックが無効にならず、Enabled = Trueに戻った後にまたチェック処理が走ってしまいます。


    '======= 案1 ======
    ' Enabled = True に戻す直前に DoEvents を入れる手法
    '
    ' 修正量が少ないように見えますが、推奨される手法ではありません。
    ' http://msdn.microsoft.com/ja-jp/library/system.windows.forms.application.doevents.aspx
    '
    Public Class Form1
     Private Sub CheckBox1_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs) Handles CheckBox1.CheckedChanged
      CheckBox1.Enabled = False
       :
       長い処理
       :
      Application.DoEvents()
      CheckBox1.Enabled = True
     End Sub
    End Class


    '======= 案2 ======
    ' Idle イベントで解除する手法
    '
    ' 処理中は Enabled = False にしておき、クリック処理が無視されるようにします。
    ' Enabled = True に戻す処理は、CheckedChanged が終わった「後」で行う必要があるため
    ' Application_Idle や Timer_Tick などで処理させます。
    '
    Public Class Form1
     Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
      AddHandler Application.Idle, AddressOf App_Idle
     End Sub

     Private Sub App_Idle(ByVal sender As Object, ByVal e As EventArgs)
      CheckBox1.Enabled = True
     End Sub

     Private Sub CheckBox1_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs) Handles CheckBox1.CheckedChanged
      CheckBox1.Refresh()
      CheckBox1.Enabled = False
       :
       長い処理
       :
     End Sub
    End Class


    '======= 案3 ======
    ' AutoCheck プロパティを利用
    '
    ' 基本的には 案2 と同じですが、Enabled の状態が変わってしまうと
    ' 都合が悪いような場合に使えます。AutoCheck を False にすると、
    ' ReadOnly 状態となり、ユーザー操作による CheckedChanged が発生しません。
    '
    Public Class Form1
     Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
      AddHandler Application.Idle, AddressOf App_Idle
     End Sub

     Private Sub App_Idle(ByVal sender As Object, ByVal e As EventArgs)
      CheckBox1.AutoCheck = True
     End Sub

     Private Sub CheckBox1_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs) Handles CheckBox1.CheckedChanged
      CheckBox1.AutoCheck = False
      CheckBox1.Refresh()
       :
       長い処理
       :
     End Sub
    End Class
記事No.69644 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69656  Re[2]: CheckBoxのチェックマークの反映
□投稿者/ ザイーガ -(2014/01/17(Fri) 13:00:46)
    魔界の仮面弁士様、ご回答ありがとうございました。
    ご提案の案2を早速使わせて頂き、処理中(チェックボックスのEnabled=Falseの時)にクリックをした場合、
    クリックを無効とすることができました。

    お陰様で解決いたしました。ありがとうございました。
記事No.69644 のレス / END /過去ログ119より / 関連記事表示
削除チェック/

■69652  C# 配列をスタックメモリに配置したい
□投稿者/ yoshi -(2014/01/17(Fri) 12:22:14)

    分類:[C#] 

    2014/01/17(Fri) 12:27:47 編集(投稿者)
    2014/01/17(Fri) 12:27:43 編集(投稿者)

    for(int i = 0; i < 1000000; i++)
    {
    char buffer[256];
    buffer[xx] = yy; ....
    }

    Cならば、上記のbuffer はスタックメモリにあり、
    同様に、C#ならば、

    for(int i = 0; i < 1000000; i++)
    {
    char[] buffer = new char[256];
    buffer[xx] = yy; ....
    }

    ヒープメモリになり、速度が極端に遅いです。

    どうすれば、unsafe を使わずに、
    C#もC見たいに、配列をスタックメモリに配置できますか。

    よろしくお願いします。

親記事 /過去ログ119より / 関連記事表示
削除チェック/

■69653  Re[1]: C# 配列をスタックメモリに配置したい
□投稿者/ Hongliang -(2014/01/17(Fri) 12:27:18)
    配列は.NET/C#においては参照型オブジェクトなので、インスタンスをスタックに確保することはできません。
    ポインタで良ければ、stackallocキーワードで確保することができます。
記事No.69652 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69654  Re[2]: C# 配列をスタックメモリに配置したい
□投稿者/ yoshi -(2014/01/17(Fri) 12:33:37)
    No69653 (Hongliang さん) に返信
    > 配列は.NET/C#においては参照型オブジェクトなので、インスタンスをスタックに確保することはできません。
    > ポインタで良ければ、stackallocキーワードで確保することができます。

    ご回答ありがとうございます。
    #質問を回答見ずに編集してしまって申し訳ありませんでした。

    > ポインタで良ければ、stackallocキーワードで確保することができます。
    unsafe でコンパイル必要があるので、
    なるべく避けたいです。

    無理でしょうかな。
記事No.69652 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69655  Re[3]: C# 配列をスタックメモリに配置したい
□投稿者/ Hongliang -(2014/01/17(Fri) 12:46:25)
    2014/01/17(Fri) 17:25:28 編集(投稿者)

    <del>あとはMarshal.AllocGlobalで確保して全部Marhsal::WriteXXXおよびMarshal::ReadXXXを使う方法ですが、これは多分速度は稼げないでしょうね。</del>
    <ins>追記:これは全くピント外れですね。すいません。</ins>

    どうしても速度が必要な箇所であれば、ある程度大きい単位で全てC++に投げてしまうとか。

    一応、構造体にフィールドを一つずつ記述していってもスタックで確保という意味では可能ですが、アクセスはめんどくさいというか意味のある操作はほぼ不可能かなぁ。
記事No.69652 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69657  Re[1]: C# 配列をスタックメモリに配置したい
□投稿者/ とっちゃん -(2014/01/17(Fri) 13:23:17)
>
    No69652 (yoshi さん) に返信
    > 2014/01/17(Fri) 12:27:47 編集(投稿者)
    > 2014/01/17(Fri) 12:27:43 編集(投稿者)
    >
    > for(int i = 0; i < 1000000; i++)
    > {
    > char buffer[256];
    > buffer[xx] = yy; ....
    > }
    >
    > Cならば、上記のbuffer はスタックメモリにあり、
    > 同様に、C#ならば、
    >
    > for(int i = 0; i < 1000000; i++)
    > {
    > char[] buffer = new char[256];
    > buffer[xx] = yy; ....
    > }
    >
    > ヒープメモリになり、速度が極端に遅いです。
    >
    > どうすれば、unsafe を使わずに、
    > C#もC見たいに、配列をスタックメモリに配置できますか。
    >
    > よろしくお願いします。
    >
    上記の例で、Cのコードが、バグっていないという条件が付くのであれば、メモリを使いまわしできるので
    char[] buffer = new char[256];
    for( ... )
    {
    ...
    }
    とすることができます。

    こうすれば、配列の確保は1回だけになるので、速度的な問題は解消できると思います。
    ただし、これが可能かどうかは、このコードだけではわかりませんが。。。
記事No.69652 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69637  PHPでのメール投稿をC#で実現したいのですが・・・
□投稿者/ yuka -(2014/01/15(Wed) 20:52:21)

    分類:[C#] 

    2014/01/15(Wed) 21:11:38 編集(投稿者)
    2014/01/15(Wed) 20:55:25 編集(投稿者)
    2014/01/15(Wed) 20:55:15 編集(投稿者)

    <pre><pre>下記の様なPHPをC#で書き換えてみたのですが
    上手く行きません。

    Visual C# 2010 Expressを利用しています。

    //PHP
    $to = "test@yahoo.co.jp";
    $subject = "テスト";
    echo $body = テストです";
    $from = "test@yahoo.co.jp";

    mb_send_mail($to,$subject,$body,"From:".$from);


    上記のPHPを下記の様なC#に書き換えました

    //C#
    System.Web.Mail.SmtpMail.Send(
    "test@yahoo.co.jp",
    "test@yahoo.co.jp",
    "テスト",
    "テストです"

    System.Web.Mail.SmtpMailは古い形式ですと
    いう警告が発生しますし、
    実行すると、エラーが発生してしまいます。
    どの様に書き換えると上手く実行できるのでしょうか?

    どなたかわかる方がいたらアドバイスお願いします。

    そのほかに参考になるページがあれば教えてください。

    お手数をおかけしますがよろしくお願いします。
親記事 /過去ログ119より / 関連記事表示
削除チェック/

■69638  Re[1]: PHPでのメール投稿をC#で実現したいのですが・・・
□投稿者/ WebSurfer -(2014/01/15(Wed) 21:20:59)
    No69637 (yuka さん) に返信
    > System.Web.Mail.SmtpMailは古い形式ですと
    > いう警告が発生しますし、
    > 実行すると、エラーが発生してしまいます。
    > どの様に書き換えると上手く実行できるのでしょうか?
    >
    > どなたかわかる方がいたらアドバイスお願いします。
    >
    > そのほかに参考になるページがあれば教えてください。

    SmtpClient を使ってはいかがですか。ただしいろいろ問題も多いです。

    SmtpClient でメール送信
    http://surferonwww.info/BlogEngine/post/2010/09/07/Sending-mail-by-using-SmtpClient.aspx

    他にも SmtpClient でググるといろいろ参考になる記事が見つかると思います。
記事No.69637 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69659  Re[2]: PHPでのメール投稿をC#で実現したいのですが・・・
□投稿者/ yuka -(2014/01/17(Fri) 21:01:50)
    No69638 (WebSurfer さん) に返信
    > ■No69637 (yuka さん) に返信
    >>System.Web.Mail.SmtpMailは古い形式ですと
    >>いう警告が発生しますし、
    >>実行すると、エラーが発生してしまいます。
    >>どの様に書き換えると上手く実行できるのでしょうか?
    >>
    >>どなたかわかる方がいたらアドバイスお願いします。
    >>
    >>そのほかに参考になるページがあれば教えてください。
    >
    > SmtpClient を使ってはいかがですか。ただしいろいろ問題も多いです。
    >
    > SmtpClient でメール送信
    > http://surferonwww.info/BlogEngine/post/2010/09/07/Sending-mail-by-using-SmtpClient.aspx

    >
    > 他にも SmtpClient でググるといろいろ参考になる記事が見つかると思います。

    サイトを見たのですが、
    難しくてよくわかりませんでしたが、
    参考にさせて頂きます。

    これから勉強させて頂きます。

    ありがとうございます。

    websurferさんは凄いサイトを書かれているんですね。

    これからもアドバイスお願いします。
記事No.69637 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69663  VB2013におけるピクチャーボックスでの描画
□投稿者/ ななし -(2014/01/18(Sat) 05:25:02)

    分類:[.NET 全般] 

    2014/01/18(Sat) 06:59:15 編集(投稿者)

    こんばんは。ななしと申します。
    現在VBを用いた画像処理プログラムを作成しているのですが、その際にどうしてもわからないところがあったので質問させて頂いた次第でございます。

    ピクチャーボックスを走査し、配列aの各座標とi,jの値が等しい時にその座標を白に、それ以外は黒に描画するプログラムを書いたつもりです。
    実行してみると1ピクセルしか白にならないのですが、変数checkで分岐に入った数を調べてみたところ300と表示されました。
    どこがおかしいのかわかる方がおられましたらお力副えよろしくお願い致します。

    Dim i As Integer, j As Integer, n As Integer
    Dim check As Integer
    Dim a(300,1) As Integer '第二添字の0にはx座標、1にはy座標の値
    Dim bBitmap As New Bitmap(PictureBox1.Image)

    check = 0

    For i = 0 To PictureBox1.Image.Width - 1
    For j = 0 To PictureBox1.Image.Height - 1
    For n = 0 To 300
    If i = a(n, 0) And j = a(n, 1) Then
    bBitmap.SetPixel(a(n, 0), a(n, 1), Color.White)
    check += 1
    Else
    bBitmap.SetPixel(i, j, Color.Black)
    End If
    Next
    Next
    Next

    With PictureBox2
    .SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
    .Image = bBitmap
    '変更結果の設定
    End With

    MsgBox("" & check)
親記事 /過去ログ119より / 関連記事表示
削除チェック/

■69665  Re[1]: VB2013におけるピクチャーボックスでの描画
□投稿者/ ななし -(2014/01/18(Sat) 07:18:24)
    自己解決しました。お騒がせしてしまい申し訳ありませんでした。
記事No.69663 のレス / END /過去ログ119より / 関連記事表示
削除チェック/

■69658  現在のセルを非可視セルに設定することはできません。
□投稿者/ ほ〜やん -(2014/01/17(Fri) 18:38:03)

    分類:[VB.NET/VB2005 以降] 

    環境は、
    言語:VB.Net2008
    OS:Win7

    DataGridViewをデータテーブルでバインドしています。
    セルを変更しようと、CurrentCellを用いて、
    DataGridView.DataSource = DataTable
    DataGridView.CurrentCell = DataGridView(0, 3) と書いてみたところ、

    DataGridView.CurrentCell = DataGridView(0, 3)の箇所で、
    「現在のセルを非可視セルに設定することはできません。」というエラーで落ちてしまいます。

    デバックで、
    DataTable.Rows.CountとDataGridView.Rows.Countで確認しましたが、件数も一致しました。 
    ※ ちなみに件数は10件です。

    データの中身も確認しましたが、問題なくデータも入っています。


    お解りの方どうかよろしくお願いします。











親記事 /過去ログ119より / 関連記事表示
削除チェック/

■69668  Re[1]: 現在のセルを非可視セルに設定することはできません。
□投稿者/ オショウ -(2014/01/18(Sat) 11:55:34)
    No69658 (ほ〜やん さん) に返信
    > お解りの方どうかよろしくお願いします。

      DataGridView1.SelectionModeをいろいろ変えてみましたが
      正常に動作しました。

      件数はよいとして、テーブルの列数は間違いないのでしょか?

    ※ SQL Server で、DataSet に、SqlDataAdapter 経由でテーブルの全データを
      取得させて、DataSetのTable設定でDataGridViewのDataSourceに代入しても
      問題なくセル位置を選択できました。

    以上。参考まで
記事No.69658 のレス /過去ログ119より / 関連記事表示
削除チェック/

■69648  コントロールの一覧を指定できるコンポーネントを作る
□投稿者/ C#研究者 -(2014/01/17(Fri) 00:03:54)

    分類:[C#] 

    Windows7 32bit VSC#2010

    コントロールのリストを保持できるコンポーネントを作ろうとしたのですが、
    エラーでControlはシリアライズ可能ではないというエラーが発生してしまいました。

    巷ではコントロールの一覧を設定できるプロパティをもつコンポーネントを見かけますが、
    あれはどのようにして作られているのでしょうか。

    /// <summary>
    /// イベントを視覚的に溜めておくリスト
    /// </summary>
    public partial class ControlStockList : Component
    {
    public List<Control> ControlList { set; get; }

    public ControlStockList()
    {
    ControlList = new List<Control>();
    }
    }
親記事 /過去ログ119より / 関連記事表示
削除チェック/

<前の20件 | 次の20件>

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 >>

ヒット件数が多いので過去ログ1〜119 までの検索結果 / 過去ログ120からさらに検索→

パスワード/

- Child Tree -