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

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

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

全過去ログを検索

<< 0 >>
■36616  Re[4]: [C#] プロパティの中にメンバ変数を置けたっていいじゃない
□投稿者/ みきぬ -(2009/06/02(Tue) 16:41:15)
    > 僕としては、セッター経由必須の場合で、直接アクセスして欲しくないフィールド変数には、属性を付けてコンパイラ側でチェックしてくれれば良い気がします。
    >
    そういえば、ObsoleteAttribute みたいなものを自分で作りたいと思って挫折した記憶がほのかに。
記事No.36554 のレス /過去ログ63より / 関連記事表示
削除チェック/

■55958  Re[2]: データグリッドビューの行の色を高速に描画したい
□投稿者/ 田中さん -(2010/12/20(Mon) 21:23:17)
    No55496 (Hongliang さん) に返信

    返信が遅くなりました。すみません。

    イベントをCellPaintingに変更したら、描画が高速になりました。
    希望動作は出来ましたので解決なのですが、一つ、追加でお聞きします。

    private void indexDataGridView_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
    {
    //列ヘッダーか調べる
    if (e.ColumnIndex < 0 && e.RowIndex >= 0)
    {
    //セルの背景を描画する
    if ((e.RowIndex / 10) % 2 == 0)
    {
    indexDataGridView.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Silver;
    }
    }
    }

    上記のようにして実装したら動作しましたのでこれで動かしていますが

    > 背景色の変更なら、CellPainting イベントで、イベント引数 DataGridViewCellPaintingEventArgs の CellStyle プロパティの、BackColor を変更することで実現できます。
    という所が気になってます。
    上記という事なので、例えば以下のように

    //セルの背景を描画する
    if ((e.RowIndex / 10) % 2 == 0)
    {
    e.CellStyle.BackColor = Color.Black;
    }

    とすれば背景が変わってくれる事を期待したのですが、全く色がついてくれません。
    色々なサンプルを探してみたのですが、これで色が変わらない理由が分かりません。
    すみませんが、どこが間違っているのでしょうか?


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

■55959  Re[4]: 質問が表示されません・・・
□投稿者/ みきぬ -(2010/12/20(Mon) 21:24:52)
    どうしてそういうことが起こっているのかはさっぱりわかりませんが、

    No55957 (じゃんぬねっと さん) に返信
    > え??? フツーに表示されている私がフツーでない?
    > http://bbs.wankuma.com/index.cgi?mode=al2&namber=48012

    つい最近の投稿なのに、なぜか namber が 48012 ですね。
    そのせいか、スレッド一覧に出てこないようです。
    もちろん、過去ログにあるわけでもない。
記事No.55944 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56443  Re[3]: Panelの回転
□投稿者/ Azulean -(2011/01/13(Thu) 23:21:10)
    No56439 (ヨシ さん) に返信
    > 逆に言えば、Windowsアプリケーションでは、Panelの回転ができないと
    > いうことでしょうか?

    できないか、相当に難しいと思われます。


    Windows フォームアプリケーションは従来の Windows アプリケーションと同じように、1 つのウィンドウの中にいくつもの子ウィンドウが存在します。Button や Panel なども個別にウィンドウとなっており、それぞれのウィンドウが自らボタンであるとか、ラジオボタンであるとか絵を描いています。
    このため、個別の絵を描く処理に対して回転をする大がかりな仕組みが必要だと予想されますが、それを簡単にする仕組みは用意されていません。

    一方、WPF アプリケーションは 1 つのウィンドウの中に 1 つの絵を描く形でウィンドウを実現しています。
    Button をいくつ置こうが、ウィンドウとしては 1 つであるため、そのウィンドウの中の絵をどのように描くかを制御しやすくなっていると考えられます。
記事No.56432 のレス /過去ログ95より / 関連記事表示
削除チェック/

■74565  Re[3]: プログレスバー表示
□投稿者/ キム -(2015/01/09(Fri) 17:40:47)
    No74551 (よぽん さん) に返信
    プログレスバーの表示は『進捗率を伸ばす場合は』かなり遅延します。
    質問者さんの環境が書かれていないので同じかどうか分かりませんが、私の環境では0.7秒くらい。
    たぶん、これは滑らかにアニメーションするための仕様だと思います。

    なので、単純には BackgroundWorker1_DoWork() の最後で Thread.Sleep(1000) のように待ってあげれば表示されます。

    そんなには待ちたくないという場合は、表示の遅延をなくす方法もあるので、それも紹介しておきます。
    原理としては、『表示が遅延するのは進捗率を伸ばす場合だけで進捗率を下げる場合は即時表示される』ことを利用します。
    詳細は、 http://dobon.net/ さんの
    『ProgressBarが徐々に伸びるアニメーションを無効にする』
    http://dobon.net/vb/dotnet/control/pbdisableanimation.html
    を参考にしてください。

    それと何点か気になった点を書いておきます。
    ・ReportProgressに渡している値が0〜99999です。ProgressBar1.Maximum が100000なので100%にならないです。
    ・そもそもReportProgressに渡す値はパーセンテージなので0〜100にした方がよいと思います。

    ということで、
    ・ProgressBar1.Maximum を 100とする。
    ・ReportProgress の呼び出しは bgWorker.ReportProgress((i + 1) * 100 / 100000); とする。
    などとすればよいのではないでしょうか。
    ただ、これだとまだ無駄にProgressChangedイベントを100000回発生させてしまうままなので、
    progressBar1.Value と e.ProgressPercentage が異なる場合だけ progressBar1の値を変更する
    処理を行うようにしてください。
    出来れば、呼ぶ前に判定する(パーセンテージが上がった場合だけbgWorker.ReportProgress()を呼び出す)
    ように最適化したほうがよいです。
    その場合は、BackgroundWorker1_DoWork()内でprogressBar1にアクセスするのはまずいので、ローカル変数を用意して管理します。
記事No.74542 のレス /過去ログ125より / 関連記事表示
削除チェック/

■92847  実行ファイルでリソースが利用できない
□投稿者/ じょこびっち -(2019/11/02(Sat) 10:45:02)

    分類:[C#] 

    2019/11/02(Sat) 10:45:56 編集(投稿者)

    ビルドしてexeファイルを初めて作りました。
    しかし、開発環境とは別のパソコンで実行するとフォーム自体は起動するのですが外部機器と通信をすると「No valid COM I/O resource available, set the IO property to a valid COM I/O resource.」とメッセージが発生します。通信以外の機能は使えています。
    素人考えですが恐らくリソースが利用できないためにWriteStringメソッドが使えず、コマンドが遅れないのだと思っています。
    実行ファイルはDebagフォルダではなくReleaseフォルダ内のexeです。
    後から追加したライブラリを使用する場合にはビルドする時にソリューションのプロパティか何かで設定が必要なのでしょうか?
    それともコード内に何か記述が必要なのでしょうか?
    開発環境では普通に動作しておりました。

    開発環境:
    Windows10 64bit
    Visual Studio Express 2017

    実行OS:
    Windows7 32bit

    外部機器用のライブラリ
    VISA COM

    public partial class Form1 : Form {
    public Form1() {
    InitializeComponent();
    }
    ResourceManager rm = new ResourceManager(); // VISA COM リソースマネージャ
    FormattedIO488 inst = new FormattedIO488(); // VISA COM フォーマッテッドIO

    // *********************
    // 測定機器に接続
    // *********************
    private void BtnID_Click(object sender, EventArgs e)
    {
    try
    {
    // 通信開始
    inst.IO = rm.Open(VISAアドレス) as IMessage;
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message);
    }

    try
    {
    // 測定器のID確認
    inst.WriteString("*IDN?"); // IDクエリ
    String str = inst.ReadString(); // コマンド受信
    MessageBox.Show(str);
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message);
    }
    }

    それとビルド後から
    1.開発環境でデバッグを開始するとプロンプトが立ち上がるようになりました。
    これはこういうものなのですか?コマンドラインで何か走ってるわけでもないので気になります。
    2.デバッグを開始するたびに「マイコードのみをなんちゃらかんちゃら」とメッセージが表示されるようになりました。

    ここら辺も何か関係しているのでしょうか?こちらは別の問題と考えればいいのでしょうか?
    よろしくお願いします。
親記事 /過去ログ160より / 関連記事表示
削除チェック/

■92850  Re[1]: 実行ファイルでリソースが利用できない
□投稿者/ Azulean -(2019/11/02(Sat) 18:23:12)
    No92847 (じょこびっち さん) に返信
    > 素人考えですが恐らくリソースが利用できないためにWriteStringメソッドが使えず、コマンドが遅れないのだと思っています。
    > 実行ファイルはDebagフォルダではなくReleaseフォルダ内のexeです。
    > 後から追加したライブラリを使用する場合にはビルドする時にソリューションのプロパティか何かで設定が必要なのでしょうか?

    ライブラリの取説、マニュアルを読んで解決するべきところだと思っています。
    同じライブラリ、または類似のライブラリを使ったことがある人にしか答えられない領域なので…。

    ライブラリに COM ポート番号を指定できるような仕組みがあるのなら、利用環境の COM ポート番号に応じて設定するコードを書かないといけないかも?


    > それとビルド後から
    > 1.開発環境でデバッグを開始するとプロンプトが立ち上がるようになりました。
    > これはこういうものなのですか?コマンドラインで何か走ってるわけでもないので気になります。

    プロパティを何か変えてしまったのでは?
    プロジェクトのプロパティで「コンソール」になってしまっているところがありませんか?


    > 2.デバッグを開始するたびに「マイコードのみをなんちゃらかんちゃら」とメッセージが表示されるようになりました。

    構成が「Release」になってしまっているとか?
    これも何かいろいろと触ってしまったのでは?と思いますが…。
記事No.92847 のレス /過去ログ160より / 関連記事表示
削除チェック/

■92880  Re[2]: 実行ファイルでリソースが利用できない
□投稿者/ じょこびっち -(2019/11/05(Tue) 08:53:13)
    No92850 (Azulean さん) に返信
    > ■No92847 (じょこびっち さん) に返信
    >>それとビルド後から
    >>1.開発環境でデバッグを開始するとプロンプトが立ち上がるようになりました。
    >>これはこういうものなのですか?コマンドラインで何か走ってるわけでもないので気になります。
    >
    > プロパティを何か変えてしまったのでは?
    > プロジェクトのプロパティで「コンソール」になってしまっているところがありませんか?

    ソリューションのプロパティで出力の種類を「Windowsアプリケーション」にしてビルドしたらコンソールが立ち上がらない実行ファイルが出来ました。

    >>2.デバッグを開始するたびに「マイコードのみをなんちゃらかんちゃら」とメッセージが表示されるようになりました。
    >
    > 構成が「Release」になってしまっているとか?
    > これも何かいろいろと触ってしまったのでは?と思いますが…。

    「ツール」⇒「オプション」⇒「デバッグ」⇒「全般」の中に「マイコードのみを有効にする」とあったのでチェックしたら表示は消えました。表示が消えただけなので解決したかどうかわかりませんが。
記事No.92847 のレス /過去ログ160より / 関連記事表示
削除チェック/

■98628  Re[6]: Collection Dictionary について
□投稿者/ VBA初心者 -(2021/12/08(Wed) 10:54:37)
    みなさんありがとうございます。
    クラスを作ってみようと思いましたが、以下のようになって太刀打ちできません。

    クラスモジュールに clsKbnNams を作りました。
    その中に Function を作成しました。

    Public Function Add(ByVal new_k As String, ByVal new_h As String)

    標準モジュールから

    Dim kbnnams As clsKbnNams
    kbnnams.Add("", "")

    としたのですが、kbnnams.Add("", "") が赤色になっています。
    実行すると 構文エラー が表示されます。
    何がまちがていますか?

    入力中は kbnnams. と打つと Add が選択でき、
    kbnnams.Add( まで打つと
    Add(ByVal new_k As String, ByVal new_h As String)
    が表示されます。
    なので、スペルミスとかはないと思いますが
記事No.98608 のレス /過去ログ171より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -