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 >>
■72019  Re[1]: テーブルで行方向に持っている値を、列方向に展開する方法
□投稿者/ やっち -(2014/05/10(Sat) 14:11:19)
    あ、テーブル「趣味」に登録される一人当たりの件数は不定とします。
    一番多趣味な人に合わせて、台帳の列数が決まります。
記事No.72017 のレス /過去ログ120より / 関連記事表示
削除チェック/

■72025  Re[1]: テーブルで行方向に持っている値を、列方向に展開する方法
□投稿者/ 魔界の仮面弁士 -(2014/05/10(Sat) 14:52:12)
    No72017 (やっち さん) に返信
    
    厄介なパターンですね。クロス集計とも違いますし。
    
    列名や列数が変化する場合は、動的問い合わせの方が良いと思います。
    あるいは、それを表示するシステム側で変形するとか…。
    
    
    とりあえず、Oracle の場合はこのような対処方法があります。
    列が分かれてるわけでは無いですけど。
    
    --- サンプルデータの準備 --
    CREATE TABLE 人物
    (ID CHAR(4)  
    , 姓  VARCHAR2(10) 
    , 名  VARCHAR2(10) 
    , 生年月日 DATE
    , 性別 NUMBER(1)
    , CONSTRAINT 人物PK PRIMARY KEY( ID )
    );
    
    CREATE TABLE 趣味
    ( ID CHAR(4)
    , 連番 NUMBER(3) 
    , 趣味 VARCHAR2(10) 
    , CONSTRAINT 趣味PK PRIMARY KEY( ID, 連番 )
    );
    
    INSERT ALL
      INTO 人物 VALUES ( '0001', '山田'  , '太郎', DATE '1995-01-01', 0 )
      INTO 人物 VALUES ( '0002', '鈴木'  , '一郎', DATE '1995-02-01', 0 )
      INTO 人物 VALUES ( '0003', '佐々木', '花子', DATE '1995-03-01', 1 )
      INTO 趣味 VALUES ( '0001',  1, '読書' )
      INTO 趣味 VALUES ( '0001',  2, '映画鑑賞' )
      INTO 趣味 VALUES ( '0002',  1, '野球' )
      INTO 趣味 VALUES ( '0003',  1, 'バンド' )
      INTO 趣味 VALUES ( '0003',  2, 'ジョギング' )
      INTO 趣味 VALUES ( '0003',  3, '写真' )
    SELECT * FROM DUAL;
    
    --- 問い合わせ --
    
    SELECT
      人物.ID
    , 人物.姓
    , 人物.名
    , 人物.生年月日
    , 人物.性別
    , wmsys.wm_concat(趣味.趣味) 趣味リスト
    FROM
      人物 LEFT JOIN 趣味 ON
      人物.ID = 趣味.ID
    GROUP BY
      人物.ID
    , 人物.姓
    , 人物.名
    , 人物.生年月日
    , 人物.性別
記事No.72017 のレス /過去ログ120より / 関連記事表示
削除チェック/

■72044  Re[2]: テーブルで行方向に持っている値を、列方向に展開する方法
□投稿者/ やっち -(2014/05/12(Mon) 13:49:54)
    No72025 (魔界の仮面弁士 さん) に返信

    書き込みありがとうございます!
    動的にSQL作る方針で行こうと思います。

    Oracleのwmsys.wm_concat関数の情報ありがとうございました。
    初めて知りました。
    いつかのために調べてみます。
記事No.72017 のレス / END /過去ログ120より / 関連記事表示
削除チェック/

■72050  Re[3]: テーブルで行方向に持っている値を、列方向に展開する方法
□投稿者/ 魔界の仮面弁士 -(2014/05/13(Tue) 12:10:18)
    No72044 (やっち さん) に返信
    > 動的にSQL作る方針で行こうと思います。
    もしくは、趣味の上限数を想定して多めに列を組み上げるとかですかね。
    
    
    > Oracleのwmsys.wm_concat関数の情報ありがとうございました。
    
    No72021 で「SQLServerではないので、PIVOT使えない」と仰っていましたが、
    そもそも、使用しておられるデータベースは何だったのでしょうか?
    それによって、使える SQL 構文も全然異なってきます。
    
    
    たとえば Access であれば、動的 SQL にせずとも処理できます。
    使うのは、TRANSFROM 〜 PIVOT 構文です。
    
    ※Access / JET
    -------------------------------------------------------------------
    TRANSFORM FIRST(趣味)
    SELECT ID, 姓, 名, 生年月日, 性別 FROM [
      SELECT 人物.ID, 人物.姓, 人物.名, 人物.生年月日, 人物.性別, 趣味.連番, 趣味.趣味
      FROM 人物 INNER JOIN 趣味 ON 人物.ID = 趣味.ID
    ]. AS WK GROUP BY ID, 姓, 名, 生年月日, 性別
    ORDER BY ID
    PIVOT 連番
    -------------------------------------------------------------------
    
    この場合、『趣味.連番』がそのまま列名として使われますので、
    「1」「2」「3」といった列名になります。連番に抜けがあっても構いません。
    
    INNER JOIN を LEFT JOIN にした場合は、無趣味の人もカウントされますが、
    この場合、「<>」という列も追加されます。
    
    
    一方、Oracle の PIVOT の場合は、動的 SQL にしないと難しいと思います。
    
    ※Oracle (11g以降)
    -------------------------------------------------------------------
    SELECT
      人物.ID
    , 人物.姓
    , 人物.名
    , 人物.生年月日
    , 人物.性別
    , WK.*
    FROM
      人物 LEFT JOIN 趣味 PIVOT (MAX(趣味) FOR 連番 IN (1, 2, 3, 4, 5)) WK
      ON 人物.ID = WK.ID
    ORDER BY
      人物.ID
    -------------------------------------------------------------------
    IN で指定した連番で列が作られるため、たとえば趣味番号 4 を
    誰も使っていなかったとしても、列「4」は生成されることになります。
    
    
    
    ※Oracle 8i Enterprise もしくは Oracle 9i Standard 以降
    -------------------------------------------------------------------
    SELECT WK.* FROM (
      SELECT
        人物.ID
      , 人物.姓
      , 人物.名
      , 人物.生年月日
      , 人物.性別
      , 趣味.連番
    --, COUNT(趣味.連番) OVER (PARTITION BY 趣味.ID) AS 趣味数
      , LEAD( 趣味.趣味, 0 ) OVER (PARTITION BY 趣味.ID ORDER BY 趣味.連番) AS 趣味1
      , LEAD( 趣味.趣味, 1 ) OVER (PARTITION BY 趣味.ID ORDER BY 趣味.連番) AS 趣味2
      , LEAD( 趣味.趣味, 2 ) OVER (PARTITION BY 趣味.ID ORDER BY 趣味.連番) AS 趣味3
      , LEAD( 趣味.趣味, 3 ) OVER (PARTITION BY 趣味.ID ORDER BY 趣味.連番) AS 趣味4
      , LEAD( 趣味.趣味, 4 ) OVER (PARTITION BY 趣味.ID ORDER BY 趣味.連番) AS 趣味5
      FROM
        人物 LEFT JOIN 趣味 ON 人物.ID = 趣味.ID
    ) WK WHERE NVL(WK.連番, 1) = 1
    ORDER BY WK.ID
    -------------------------------------------------------------------
    この手法では、抜けのあった趣味番号は前倒しに配置されます。
    たとえば、田中さんの趣味番号が「1, 2, 5」となっていて 3, 4 が無い場合、
    「趣味3」列に 連番5 の趣味が配置されます。
    
    
    ※Oracle
    -------------------------------------------------------------------
    SELECT
      人物.ID
    , 人物.姓
    , 人物.名
    , 人物.生年月日
    , 人物.性別
    , MAX(DECODE(趣味.連番, 1, 趣味.趣味)) AS 趣味1
    , MAX(DECODE(趣味.連番, 2, 趣味.趣味)) AS 趣味2
    , MAX(DECODE(趣味.連番, 3, 趣味.趣味)) AS 趣味3
    , MAX(DECODE(趣味.連番, 4, 趣味.趣味)) AS 趣味4
    , MAX(DECODE(趣味.連番, 5, 趣味.趣味)) AS 趣味5
    FROM
      人物 LEFT JOIN 趣味 ON
      人物.ID = 趣味.ID
    GROUP BY
      人物.ID
    , 人物.姓
    , 人物.名
    , 人物.生年月日
    , 人物.性別
    ORDER BY
      人物.ID
    -------------------------------------------------------------------
    こちらは PIVOT 版と同様、抜けのあった趣味番号の列も作られます。
    田中さんの趣味番号が「1, 2, 5」となっていて 3, 4 が無い場合、
    「趣味3」「趣味4」列が空になり、「趣味5」に趣味の名前が記載されます。
記事No.72017 のレス /過去ログ120より / 関連記事表示
削除チェック/

■72289  デスクトップ上で範囲選択
□投稿者/ pod -(2014/06/02(Mon) 13:06:57)

    分類:[C#] 

    C#でデスクトップをマウスドラッグで範囲指定して、
    その範囲(ドラッグ開始・終了座標の長方形)を取得しようと思っています。
    普通にデスクトップをクリックするとフォーカスが外れるため、
    画面全体を覆う透明度1のフォームを作ってその上で取得してみたのですが、
    範囲指定中は範囲がわかりやすいように長方形を描画したいと思っているため、
    その方法では長方形も見えなくなってしまいます。

    全く別の方法でも構いませんので、デスクトップのドラッグによる範囲指定の
    やり方を教えて下さい。
親記事 /過去ログ121より / 関連記事表示
削除チェック/

■72388  Re[3]: C#の正規表現について
□投稿者/ shu -(2014/06/06(Fri) 10:18:31)
    No72387 (あ さん) に返信
    > なお、この問題点としては改行をなくしたため、文章が非常に読みづらいことと、元の文の形を保持しての削除ができないことです。
    > この問題点についてはまだ解決しておりません。
    > どなたかご教授お願いいたします。
    既に提示したサンプルを見てもらうとわかるかと思いますが、
    .
    には改行が含まれません。
    また
    No.

    .
    は\をつけないとどんな文字でも良いことになるので
    Not99
    とか
    Non99
    とか
    No199
    などもまっちしてしまいます。
記事No.72366 のレス /過去ログ121より / 関連記事表示
削除チェック/

■77954  Re[1]: 検索アルゴリズム
□投稿者/ くなーら -(2015/12/03(Thu) 14:53:37)


    正規表現で問い合わせ文字列を動詞と名詞の2グループに分けて、
    名詞とその組み合わせに重みを付ける、とか.......?
記事No.77950 のレス /過去ログ132より / 関連記事表示
削除チェック/

■79935  コピーhublotクラシック・フュージョン時計
□投稿者/ 時計 -(2016/05/30(Mon) 14:13:03)
>

    分類:[.NET 全般] 

    www.sakurafly8.com/pros/watches-small-io33/はレプリカhublotクラシック・フュージョン時計専売店です。 2017-8-7 0.788418988 サイトは世界一流ウブロクラシック・フュージョンコピー 専門店です。ぜひ一度当店の商品をお試しください。驚きと満足を保証致します。ご利用をお待ちしております。...コピーhublotクラシック・フュージョン時計: http://www.sakurafly8.com/pros/watches-small-io33/
親記事 /過去ログ136より / 関連記事表示
削除チェック/

■80678  Re[1]: Windows10
□投稿者/ 774RR -(2016/08/02(Tue) 15:49:00)
    オイラのプライベート
    gwx.exe がうっとうしかったので 2015/12 頃にサブマシンの windows7 を windows10 に更新 (64bit)
    upgrade したら windows7 のデバイスドライバのままで周辺装置が全て動いたし、
    windows98 の頃のゲームまで皆問題なく動作したです。偉いぞ Microsoft 。

    ついでに windows10 をクリーンインストールするテストも実施。
    いくつか標準では見つからないドライバがあったけど、各メーカのサポートページからダウンロードできたっす。
    Intel AMT 用ドライバが自動であたらないのはなぜなんだろう。
    (PCI シンプル通信コントローラの△!はたいていこの Intel AMT)

    ここまで確認のうえメインマシンも更新し (2016/1 頃) 今に至るまで問題なしです。

    オイラの知人A
    windows10 に更新しアップグレード権を確保したものの
    やはりプリンタドライバが無いとのことで windows7 に戻したそうです。
    プリンタぐらい買えよ・・・と言いたい。

    オイラの知人B
    何がなんでも絶対に upgrade しねーぞと息巻いてます。この前遊びに行ったら windows7 のままでした。
    4台とも・・・なんでそんなに台数あるんだよ、何に使ってんだよ。

    会社のマシン
    wsus が管理しているので windows7 のままです。
    各部署が独自に使っているソフトの windows10 対応状況を調査して報告せよという指示が来たのが 2016/6
    もっと早く手を打とうよ>ウチの情シス
    2016/12 ないしは 2017/4 頃に更新を予定してる 7->10 ようなふいんき
    XP->7 のときは延長サポート終了直前まで引っ張ったのでまだマシなのかも。

    業務用マシン(ウチの会社、行きつけのお店の店頭マシン)は 7 のみで 10 を見たことがありません。
    個人マシンは 7 が3割、 8/8.1 が3割、 10 が4割ってとこでしょうか (2016/8/1 時点)
    古いプリンタ、スキャナのドライバを、メーカが出してくれないという理由が大きいようです。
    そこをちょっとがんばると評判が上がると思うのですが > E社 C社
記事No.80677 のレス /過去ログ137より / 関連記事表示
削除チェック/

■80679  Re[2]: Windows10
□投稿者/ 真田昌幸 -(2016/08/02(Tue) 16:28:33)
    No80678 (774RR さん) に返信
    > オイラのプライベート
    > upgrade したら windows7 のデバイスドライバのままで周辺装置が全て動いたし、
    > windows98 の頃のゲームまで皆問題なく動作したです。偉いぞ Microsoft 。

    なるほど、Win7のドライバで動いた運のいいケースですね。
    もとが64bitだと比較的動くもの多いと聞きます。

    > オイラの知人A
    > windows10 に更新しアップグレード権を確保したものの
    > やはりプリンタドライバが無いとのことで windows7 に戻したそうです。
    > プリンタぐらい買えよ・・・と言いたい。

    私はAさんの気持ちはわかります。
    確実に使う用途はあるが、頻度が低い(紙に出す機会はめっきり減りました)ので出費したくないので、
    > プリンタぐらい買えよ
    とはいかないんですよ。
    私はメーカーのHPみて8もサポートしてないのをみて
    リスクを取らず見送りました。

    > オイラの知人B
    > 何がなんでも絶対に upgrade しねーぞと息巻いてます。この前遊びに行ったら windows7 のままでした。
    > 4台とも・・・なんでそんなに台数あるんだよ、何に使ってんだよ。

    4台あったら私なら1台やりますね。
    というか、その前に4台使わずに、パーティション分けるか仮想使うことを考えますけど。

    > 会社のマシン
    > wsus が管理しているので windows7 のままです。
    > 各部署が独自に使っているソフトの windows10 対応状況を調査して報告せよという指示が来たのが 2016/6
    > もっと早く手を打とうよ>ウチの情シス
    > 2016/12 ないしは 2017/4 頃に更新を予定してる 7->10 ようなふいんき
    > XP->7 のときは延長サポート終了直前まで引っ張ったのでまだマシなのかも。

    間のVista、8xがだめだからこういうこと起こるのですよね。
    私は、XPとか7で安定したOS出せるならVista、8xでもちゃんとテストしてから世に出せよMSといいたい。

    > 業務用マシン(ウチの会社、行きつけのお店の店頭マシン)は 7 のみで 10 を見たことがありません。
    > 個人マシンは 7 が3割、 8/8.1 が3割、 10 が4割ってとこでしょうか (2016/8/1 時点)
    > 古いプリンタ、スキャナのドライバを、メーカが出してくれないという理由が大きいようです。
    > そこをちょっとがんばると評判が上がると思うのですが > E社 C社

    私の使っているプリンターはXPの時に買ったもので、7までしか対応してません。
    明らかに販促のために、わざとできる検証をせずにサポート切っている気がします。
    7の時はメーカーのサイトに行くこともなく、Windows Updateで更新されたので楽だったのですがね。

    個人的には、vbsが動くかどうかは関心があります。
    きっと動くと思いますが。
    サポートは10から切ったようです。


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

■80694  Re[1]: DataTable の指定列名で検索する方法
□投稿者/ PANG2 -(2016/08/03(Wed) 14:23:17)
    2016/08/03(Wed) 14:32:38 編集(投稿者)

    > c# にてDataTable の指定列名で検索し、その行数を取得する方法を教えてください。

    行数ではなく、行番号?

    最初の案が最善でしょう。
    LINQでかっこ良く書いてもやっていることは同じ。
    それでも、あえて一行で書きたいというのが題意か。

    C#2.0なら

    int index = Array.FindIndex(dt.Select(), delegate(DataRow dr) { return dr["指定列名"].ToString() == "検索文字列"; });

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

■80749  Re[3]: 元号対応2
□投稿者/ 魔界の仮面弁士 -(2016/08/08(Mon) 14:19:11)
    No80747 (真田昌幸 さん) に返信
    > Win7SP1
    > .NetFrameworkは3.5(.1?)、4.0の共存のようです。
    
    Windows 7 に標準搭載されている .NET Framework 3.5.1 というのは、
    「.NET Framework 3.5 SP1 + 累積パッチ」に相当するバージョンです。
    Windows 7 なら 2020/01/15 までがサポート期限となります。
    
    ちなみに、Windows 7 以外の OS のサポート期限は、
    Windows Vista は 2017/04/12 まで
    Windows 8.1 は 2023/01/11 まで(Windows 8 は期限切れ)
    Windows 10 では 2025/01/15 までですね。
    
    
    > OSにSP1をあててて、4.0で止めてる理由はよくわかりませんが。
    
    .NET Framework 4/4.5/4.5.1 のサポートは
    今年の1月13日をもって既に終了していますので、
    本来は 4.5 系の最終版である 4.5.2 か、あるいは
    4.6 系に移行していてしかるべきではありますね。
    
    結局はリスク判断と天秤にかけることになるのでしょうけれど、
    .NET Framework の 4 と 4.5.x は共存できず、いわゆる
    インプレース更新となりますので、導入済みのアプリケーションが
    「4 では検証したが、4.5 以降での検証を行っていない」場合には、
    あえて 4 で止めておくという選択肢もあるのだと思います。
    それが望ましい事かどうかは別として。
    
    
    > 3.5のまま、Javaと同じくマスタ参照にするか、
    > 4.5.2まで上げて、カレンダークラス参照にするかの
    > 2者択一になりそうです。
    > (前者の可能性が高?)
    
    良いんじゃ無いでしょうか。既に Java 実装があるのなら、
    足並みを揃えておいた方が、メンテナンスもしやすいでしょうしね。
    
    あるいは、そうしたシステム依存度を減らすために、参照するマスターを
    Oracle にするのか PostgreSQL にするのか SQL Server にするのか
    config にするのか csv にするのか .NET 内部実装を用いるのかなど、
    後から差し替えられるような抽象設計なクラス実装にしているケースも
    目にしたことがあります。最終的には案件次第ですね。
    
    
    > 4.x系のマイナーバージョンが多いのが若干気になりますが、
    
    参考までに、CLR2 世代のマイナーバージョンを挙げておきます。
    
    OS プリインストール版、単体リリース版、製品同梱版などといった
    細かい違いまでは調べ切れていませんが:
    
    2005/11/07 2.0.50727.42   …… 2.0 RTM 
    2006/11/06 3.0.4506.30    …… 3.0
    2007/01/30 2.0.50727.312  …… 2.0 RTM (NT 6.0)
    2007/07/10 2.0.50727.832  …… 2.0 (KB928365)
    2007/11/19 3.5.21022.8    …… 3.5
     同上   3.0.4506.648   …… 3.0 SP1
     同上   2.0.50727.1433 …… 2.0 SP1
    2008/02/04 2.0.50727.1434 …… 2.0 SP1 (NT6.0 SP1)
    2008/08/12 3.5.30729.1    …… 3.5 SP1
     同上   3.0.6920.1453  …… 3.0 SP2
     同上   3.0.4506.2123  …… 3.0 SP2
     同上   3.0.4203.2152  …… 3.0 SP2
     同上   2.0.50727.3053 …… 2.0 SP2
    2009/01/26 2.0.50727.3074 …… 2.0 SP2 (KB959209)
    2009/04/29 3.0.6920.4000  …… 3.0 SP2 (NT6.0 SP2)
     同上   3.0.4506.4037  …… 3.0 SP2 (NT6.0 SP2)
     同上   2.0.50727.4016 …… 2.0 SP2 (NT6.0 SP2)
    2009/07/13 3.5.30729.4926 …… 3.5 SP1 (NT6.1)
     同上   3.0.6920.4902  …… 3.0 SP2 (NT6.1)
     同上   3.0.4506.4926  …… 3.0 SP2 (NT6.1)
     同上   3.0.4203.4926  …… 3.0 SP2 (NT6.1)
     同上   2.0.50727.4927 …… 2.0 SP2 (NT6.1)
    2009/10/14 2.0.50727.4200 …… 2.0 SP2 (NT6.0 SP2, KB974378)
     同上   2.0.50727.3603 …… 2.0 SP2 (KB974378)
     同上   2.0.50727.1873 …… 2.0 SP1 (NT6.0 SP1, KB974378)
     同上   2.0.50727.1003 …… 2.0 (NT6.0, KB974378)
    2010/08/11 2.0.50727.4206 …… 2.0 SP2 (NT6.0 SP2, KB2265906, .NET 3.5 SP1)
     同上   2.0.50727.3615 …… 2.0 SP2 (KB2265906, .NET 3.5 SP1)
     同上   2.0.50727.1882 …… 2.0 SP1 (KB2265906, .NET 3.5)
    2010/11/19 3.5.30729.5420 …… 3.5 SP1 (NT6.1 SP1)
     同上   3.0.6920.5011  …… 3.0 SP2 (NT6.1 SP1)
     同上   3.0.4506.5420  …… 3.0 SP2 (NT6.1 SP1)
     同上   3.0.4203.5420  …… 3.0 SP2 (NT6.1 SP1)
    
    
    
    > 不具合とか結構出ているのでしょうか?
    
    というよりも、開発サイクルが変更されているということですね。
    
    CLR4 世代では Service Pack という形ではリリースされていませんし、
    4.5 世代、4.6 世代という括りの中で、バージョン管理されていった
    結果なのだと思います。
    
    4.5  …… 2012/08/15
    4.5.1 …… 2013/10/12
    4.5.2 …… 2014/05/05
    
    4.6  …… 2015/07/20
    4.6.1 …… 2015/11/30
    4.6.2 …… 現在プレビュー版
    
    
    Windows 10 も、メインリリースとしては
     ★TH1: Version 10.0 (ビルド 10240) 初期版(2015/07/29)
     ★TH2: Version 1511 (ビルド 10586.x) 2015年11月版(2015/11/12 November Update)
     ★RS1: Version 1607 (ビルド 14393.x) 2016年7月版(2016/08/02 Anniversary Update)
    となりますが、Insider-Preview の方々はもっと頻繁に更新されますので
    それと同じようなものかと思います。
    (Long Term Servicing Branch なユーザーは、未だに 10240 ですが)
記事No.80721 のレス /過去ログ137より / 関連記事表示
削除チェック/

■82017  フォームのモーダル⇒モーダレスについて
□投稿者/ ぬりかべ -(2016/11/30(Wed) 11:08:46)

    分類:[C#] 

    WindowsアプリをC#(.NET4.5)で作成しております。

    質問させて頂きたい内容は以下になります。

    1. 画面Aから画面Bをモーダルで表示。

    2. 画面Bから画面Cをモーダレスで表示。
    ⇒このとき画面Bと画面Cは両方操作可能です。

    3. 画面Bを一旦閉じる。

    4. 画面Aから画面Bをモーダル表示。
    ⇒このとき画面Bは操作可能ですが、画面Cは操作不可になります。

    ★4.の時に2.の時と同様に、画面Cを操作可能にする方法をどなたかご教授願いないでしょうか?
親記事 /過去ログ140より / 関連記事表示
削除チェック/

■82020  Re[1]: フォームのモーダル⇒モーダレスについて
□投稿者/ shu -(2016/11/30(Wed) 16:56:58)
    No82017 (ぬりかべ さん) に返信

    Bをモーダルで開かず、Bを開いたときにAを使用不可にするなど。

    提示した内容ではCを開いたときはCがモーダルダイアログより開かれたので
    触れるのですが新しいモーダルダイアログが開かれると触れなくなってしまいます。

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

■82021  Re[2]: フォームのモーダル⇒モーダレスについて
□投稿者/ ぬりかべ -(2016/11/30(Wed) 17:58:04)
    shuさん、ご返信ありがとうございます。

    1点確認ですが、新しいモーダルダイアログを開いた際に、
    Cのオーナーを代えるようなことはできないでしょうか?

    できないようであれば、
    shuさんからご提示して頂いた方法をとろうと思います。
記事No.82017 のレス /過去ログ140より / 関連記事表示
削除チェック/

■82308  Re[3]: スタティックフィールド、スタティックメソッドの保存領域
□投稿者/ tabse -(2017/01/01(Sun) 11:32:36)
    No82297 (ユウヤ さん) に返信
    > ■No82295 (774RR さん) に返信
    >>まずフィールドのほうから。
    >>.NET の世界ではそういうのがどこに格納されるかはあまり気にしなくてよいというか、気にしてもしょうがないというか。
    >>static フィールドはプログラムの終了まで gc 対象にならないとだけ理解していれば十分です。
    >># C/C++ で組み込みマイコンのプログラムを組むのなら知っておかないとはまっちゃうけど。
    >>
    >>次にメソッドのほう。
    >>static メソッドをコンパイルした結果も
    >>non-static メソッドをコンパイルした結果も
    >>「プログラム領域」に1つあるだけっすよ。
    >>
    >
    > 情報ありがとうございます。

    返信ありがとうございます。
    とても勉強になりました。

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

■82310  メニューバーに排他的チェックボックスをつける方法
□投稿者/ たらこ -(2017/01/01(Sun) 12:59:40)

    分類:[.NET 全般] 


    VB.NETでメニューバーにこういう排他的チェックボックスをつけたいのですが

    http://home.a00.itscom.net/hatada/visual-studio/windows-forms/csmenu05.png

    その方法を教えてください。

    検索すると情報ページが見つかりました。

    http://dobon.net/vb/dotnet/control/menuradiocheck.html



    Dim menuFile As ToolStripMenuItem = New ToolStripMenuItem("test")
    menuFile.DropDownItems.Add(New ToolStripMenuItem("項目1"))
    menuFile.DropDownItems.Add(New ToolStripMenuItem("項目2"))
    menuFile.CheckState = CheckState.Checked
    menuFile.Checked = True
    Me.MenuStrip1.Items.Add(menuFile)


    CheckState かCheckedプロパティを使うと書かれてあるので
    両方入れてみたのですがチェックボックスは表れませんでした。

    チェックボックスを切り替えるコードが入っていないためだろうと思い、

    'ToolStripMenuItem1のClickイベントハンドラ
    Private Sub ToolStripMenuItem1_Click(sender As Object, e As EventArgs) _
    Handles ToolStripMenuItem1.Click
    Dim item As ToolStripMenuItem = DirectCast(sender, ToolStripMenuItem)
    'チェック状態を反転させる
    item.Checked = Not item.Checked
    End Sub

    を入れてみたのですが
    ToolStripMenuItem1がないため、動作しません。

    あらかじめToolStripMenuItem1を入れておく必要があるのでしょうか?
    それでもチェックボックスは表れないのですが
    どのようにすれば良いですか?




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

■82312  Re[1]: メニューバーに排他的チェックボックスをつける方法
□投稿者/ Jitta -(2017/01/01(Sun) 16:44:11)
    No82310 (たらこ さん) に返信
    >
    > VB.NETでメニューバーにこういう排他的チェックボックスをつけたいのですが
    > 検索すると情報ページが見つかりました。
    >
    > http://dobon.net/vb/dotnet/control/menuradiocheck.html
    >
    > CheckState かCheckedプロパティを使うと書かれてあるので
    > 両方入れてみたのですがチェックボックスは表れませんでした。

     次の部分が該当します。


    引用開始〜〜〜〜〜
    グループ内で1項目しかチェックマークを付けられないようにする

    排他的チェックマークのように、グループ内で1つの項目しかチェックマークを付けることができないようにするには、やはりClickイベントを利用して自分でコードを書きます。

    以下の例では、3つのToolStripMenuItem(ToolStripMenuItem1,2,3)の内1つしかチェックマークを付けることができないようにしています。ここではチェックマークを黒丸にしています。
    〜〜〜〜〜引用終了


    >
    >
    > Dim menuFile As ToolStripMenuItem = New ToolStripMenuItem("test")
    > menuFile.DropDownItems.Add(New ToolStripMenuItem("項目1"))
    > menuFile.DropDownItems.Add(New ToolStripMenuItem("項目2"))
    > menuFile.CheckState = CheckState.Checked
    > menuFile.Checked = True
    > Me.MenuStrip1.Items.Add(menuFile)
    >
    >
    > 'ToolStripMenuItem1のClickイベントハンドラ
    > Private Sub ToolStripMenuItem1_Click(sender As Object, e As EventArgs) _
    > Handles ToolStripMenuItem1.Click
    > Dim item As ToolStripMenuItem = DirectCast(sender, ToolStripMenuItem)
    > 'チェック状態を反転させる
    > item.Checked = Not item.Checked
    > End Sub

     ここで取り扱う(Handles)のは、menuFile.DropDownItems.Add メソッドで追加した ToolStripMenuItem です。
    これらは動的に追加しているので、動的にハンドラを追加します。see then use AddHandler
    どぼんさんのところでは、For Each 文で groupMenuItems に登録したアイテムをすべて調べます。
    Object.ReferenceEquals メソッドで、同じオブジェクト(を参照している)かどうかを調べ、
    同じなら CheckState.Indeterminate、
    異なるなら CheckState.Unchecked に設定しています。
記事No.82310 のレス /過去ログ140より / 関連記事表示
削除チェック/

■82313  マルチスレッドでFormを表示する方法
□投稿者/ vista -(2017/01/01(Sun) 17:11:04)

    分類:[.NET 全般] 


    VBを使用しています。

    シングルスレッドの場合には


    Dim frm90 As New Form90
    Form90.Show()

    でフォームを表示することができるのですが
    マルチスレッドにしてバックグラウンドから上記のコードで
    フォームを呼び出そうとしても

    InvalidOperatoinExceptionはハンドルされませんでした。

    DragDrop登録は成功しませんでした。

    というエラーが出て表示されません。

    これは一体なぜでしょうか?

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

■82315  Re[1]: マルチスレッドでFormを表示する方法
□投稿者/ Azulean -(2017/01/01(Sun) 17:54:31)
    2017/01/01(Sun) 17:56:21 編集(投稿者)

    基本的に Windows Forms ではメインスレッド以外からのコントロール・フォームの作成や操作は想定されていません。
    バックグラウンドスレッドから直接表示するのではなく、メインスレッドに依頼(Invoke, BeginInvoke など)する形にできませんか?


    // 一応、自分で Thread を生成し、SetApartmentState で Sta にすれば例外は回避できます。
    // ただし、前述のように想定されていないシナリオで使うことになるので自己責任で。
記事No.82313 のレス /過去ログ140より / 関連記事表示
削除チェック/

<前の20件 | 次の20件>

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 >>

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

パスワード/

- Child Tree -