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

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

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

全過去ログを検索

<< 0 >>
■12931  MultiLineなComboBoxについて
□投稿者/ くろちゃん -(2008/01/21(Mon) 11:53:39)

    分類:[.NET 全般] 

    くろちゃんです。

    お世話になります。
    VS2005(C#)で、
    ComboBoxのDropDownモードかつ、さらに入力部分がTextBoxのMulutiLine=trueのようなものを使用したいのですが、
    簡単な実現方法をご存知の方がおられましたら教えてください。

    よろしくお願いします。
親記事 /過去ログ28より / 関連記事表示
削除チェック/

■34460  Re[3]: カスタムコントロールの作成
□投稿者/ アクア -(2009/03/30(Mon) 17:32:28)
>
    No34459 (sakura39 さん) に返信

    私が提示させて頂いたキーワードで幾つか他にもサイトがあったはずですので順番に記事や内容を確認されてはいかがでしょうか?

    ちなみに、私が初めて参考にしたユーザーコントロールの作り方を取り扱ったサイトは「もっとドットNET」さんのサイトです。
    サンプルはVBですが、とても勉強になりました。
記事No.34455 のレス /過去ログ60より / 関連記事表示
削除チェック/

■46125  Re[3]: フォントの相対指定を一括でする
□投稿者/ みきぬ -(2010/01/26(Tue) 14:33:39)
    案1:例えば Label を継承した HogeLabel みたいなクラスを作って、そこでおこなう
    欠点:コントロールの種類ごとに用意する必要がある

    案2:Page の初期化処理(例えば Page_Load)でコントロールを再帰的に辿って設定する
    欠点:実現可能性が(私には)不明
記事No.45967 のレス /過去ログ78より / 関連記事表示
削除チェック/

■47856  Re[1]: Access2003でFlexGrid
□投稿者/ 魔界の仮面弁士 -(2010/03/16(Tue) 17:08:53)
    No47730 (ぬーん さん) に返信
    > 「Microsoft FlexGrid Control 6.0(SP6)」をフォームに貼り付けしようとすると、
    > 「Microsoft Office Accessでは、このActiveXコントロールはサポートされていません」
    どうやら、たとえ該当 OCX のライセンスがあったとしても、それを Access で使えるかどうかは
    別問題のようです(MSFLXGRD.OCX は、Access 用に開発されたものではありません)。

    他のコントロールの話ですが、下記を参照してみてください。
    http://support.microsoft.com/kb/840194/ja

    ちなみに、開発ライセンスが無いことが原因であれば、エラーメッセージは
    「ActiveX コンポーネントはオブジェクトを作成できません。」になるようです。
    http://support.microsoft.com/kb/281848/ja


    なお、今回の件に該当するかどうかは分かりませんが、こんな話もあるようです。
    http://www.accessclub.jp/bbs5/0041/vba12968.html
    http://bbs.hotfix.jp/ShowPost.aspx?PostID=7960
記事No.47730 のレス /過去ログ81より / 関連記事表示
削除チェック/

■53287  VB.NETでDLLも整数値の戻り値について
□投稿者/ お助け下さい -(2010/09/09(Thu) 16:58:23)

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

    お世話になっております。ソフト技術者様のアドバイスを
    お願い致します。どうかお助け下さい。

    言語:VB2008(Pro)
    OS:Win−XP(Pro)

    メーカ様のDLLを使用してVB2008でプログラムを作成しているのですが、どうしても戻り値(文字型のデータは戻ってきますが、整数型のデータは0のままです。)が戻ってきません。
    海外の機器メーカーに問い合わせても連絡は有りません。

    このGetCardRecord2を使用して、メーカー機器にカード番号情報を送ると既に登録されている該当データが戻り値として返ってくる関数です。


    C言語のサンプルプログラムを参考にVB2008に置き換えたのですが無理でした。
    いろいろとHP等を参考にして制作したのですが、お手上げ状態です。

    ヘッダファイルです。

    VEXPORT int CALLBACK GetCardRecord2(char *macAddress,int *cardSetID,int *noFormat,
        char *cardNumber,int cardNumberSize,
    char *pin,int pinSize,int *accessType,
    unsigned int *uniqueID,int *accessGroup1,
    int *accessGroup2,int *accessGroup3,
    int *accessGroup4,int *accessGroup5,
    int *accessGroup6,int *accessGroup7,
    int *accessGroup8,int *extendedAccess,
    int *passbackExempt,int *pinCmds,
    char *startDate,int startDateSize,
    char *startTime,int startTimeSize,
    char *endDate,int endDateSize,
    char *endTime,int endTimeSize,
    unsigned int *escortID,
    int *inScheduleElevatorGroup,
    int *outScheduleElevatorGroup,
    int *deleted,int *pinExempt);

    C言語のサンプルプログラム

    [DllImport("VertX.DLL")]
    public static extern int GetCardRecord2(string macAddr, ref int cardSetID, ref int noFormat,
    System.Text.StringBuilder cardNumber, int cardNumberSize, System.Text.StringBuilder pin,
    int pinSize, ref int accessType, ref uint uniqueID, ref int accessGroup1, ref int accessGroup2,
    ref int accessGroup3, ref int accessGroup4, ref int accessGroup5, ref int accessGroup6,
    ref int accessGroup7, ref int accessGroup8, ref int extendedAccess, ref int passbackExempt,
    ref int pinCmds, System.Text.StringBuilder startDate, int startDateSize,
    System.Text.StringBuilder startTime, int startTimeSize, System.Text.StringBuilder endDate,
    int endDateSize, System.Text.StringBuilder endTime, int endTimeSize, ref uint escortID,
    ref int inElevGroup, ref int outElevGroup, ref int deleted, ref int pinExempt);

    int ident;
    int result;
    string macAddr;
    int cardset;
    int nofmt;
           string noFmt;
    System.Text.StringBuilder cardNumber;
    System.Text.StringBuilder pin;
    int accessType = 0;
    uint unique = 0;
    int level1 = 0;
    int level2 = 0;
    int level3 = 0;
    int level4 = 0;
    int level5 = 0;
    int level6 = 0;
    int level7 = 0;
    int level8 = 0;
    int extended = 0;
    int passback = 0;
    int pincmd = 0;
    System.Text.StringBuilder startDate;
    System.Text.StringBuilder startTime;
    System.Text.StringBuilder endDate;
    System.Text.StringBuilder endTime;
    uint escort = 0;
    int inelev = 0;
    int outelev = 0;
    int deleted = 0;
            int pinexempt = 0;

    result = GetCardRecord2(macAddr,ref cardset,ref nofmt,cardNumber,ARRLEN,
    pin,ARRLEN,ref accessType,ref unique,ref level1,ref level2,ref level3,
    ref level4,ref level5,ref level6,ref level7,ref level8,ref extended,
    ref passback,ref pincmd,startDate,ARRLEN,startTime,ARRLEN,
    endDate,ARRLEN,endTime,ARRLEN,ref escort,ref inelev,ref outelev,ref deleted,ref pinexempt
    );
    if (result == 0)

    textBoxCRUniqueID.Text = unique.ToString();


    上記のプログラムでは、uniqueの変数には(戻り値:20386)データは返ってきています。

    下記がサンプルプログラムをVBに変更して作成したプログラムです。

    <DllImport("VertX.DLL")> _
    Public Shared Function GetCardRecord2(ByVal macAddr As String, ByRef cardSetID As Integer, ByRef noFormat As Integer, ByVal cardNumber As   StringBuilder, ByVal cardNumberSize As Integer, ByVal pin As StringBuilder, ByVal pinSize As Integer, ByRef accessType As Integer, <MarshalAs(UnmanagedType.U4)> ByRef uniqueID As UInteger, ByRef accessGroup1 As Integer, ByRef accessGroup2 As UInteger, ByRef accessGroup3 As Integer, ByRef accessGroup4 As Integer, ByRef accessGroup5 As Integer, ByRef accessGroup6 As Integer, ByRef accessGroup7 As Integer, ByRef accessGroup8 As Integer, ByRef extendedAccess As Integer, ByRef passbackExempt As Integer, ByRef pinCmds As Integer, ByVal startDate As StringBuilder, ByVal startDateSize As Integer, ByVal startTime As StringBuilder, ByVal startTimeSize As Integer, ByVal endDate As StringBuilder, ByVal endDateSize As Integer, ByVal endTime As StringBuilder, ByVal endTimeSize As Integer, ByRef escortID As UInt32, ByRef inElevGroup As Integer, ByRef outElevGroup As Integer, ByRef deleted As Integer, ByRef pinExempt As Integer) As Integer
    End Function


          Dim accessType As Integer = 0
    Dim unique As UInteger = 0
    Dim level1 As Integer = 0
    Dim level2 As Integer = 0
    Dim level3 As Integer = 0
    Dim level4 As Integer = 0
    Dim level5 As Integer = 0
    Dim level6 As Integer = 0
    Dim level7 As Integer = 0
    Dim level8 As Integer = 0
    Dim extended As Integer = 0
    Dim passback As Integer = 0
    Dim pincmd As Integer = 0
    Dim escort As UInt32 = 0
    Dim inelev As Integer = 0
    Dim outelev As Integer = 0
    Dim deleted As Integer = 0
    Dim pinexempt As Integer = 0
    Dim result As Integer
    Dim cardset As Integer
    Dim nofmt As Integer = 1

          Dim startDate As New StringBuilder(200)
    Dim startTime As New StringBuilder(200)
    Dim endDate As New StringBuilder(200)
    Dim endTime As New StringBuilder(200)



    result = GetCardRecord2(vertx_macaddress(ii), (cardset), (nofmt), cardno, 200, pincode, 200, (accessType), (unique), (level1), (level2), (level3), (level4), (level5), (level6), (level7), (level8), (extended), (passback), (pincmd), startDate, 200, startTime, 200, endDate, 200, endTime, 200, (escort), (inelev), (outelev), (deleted), (pinexempt))


    resultの変数は0で返ってきます。この0は成功の意味ですが、成功したにも関わらず、(unique)の戻り値は0です。
    また、startDate、startTime、endDate、endTimeには機器に登録されているデータ値が返ってきております。


    何が悪いのでしょうか?
    お助け下さい。(2週間悩んでおります。)

    構造体、マーシャリング等うを使用して作成は可能なんでしょうか?








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

■62458  MVC3 jquerymobileでユーザーコントロール
□投稿者/ とも -(2011/10/12(Wed) 15:46:34)

    分類:[.NET 全般] 

    いつも参考にさせていただいてます。

    環境:windows7,VisualStudio 2010 ,MVC3

    ajaxでサーバーから取得したデータをユーザーコントロールに渡し画面を表示しようとしているのですが、一瞬画面が表示された後、真っ白な画面に「undefined」の表示のみとなります。

    jquerymobileをインクルードしなければ、問題なく表示されているようです。

    エラーを追いかけてみたところ、

    MicrosoftMvcAjax.js 内の

    Sys.Mvc.AsyncHyperlink.handleClick=function(anchor,evt,ajaxOptions){evt.preventDefault();Sys.Mvc.MvcHelpers.$2(anchor.href,'post','',anchor,ajaxOptions);}

    部分で以下のエラーを返しているようです。

    Uncaught ReferenceError:
    $ is not defined

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

■62534  Re[5]: 文字コードの取得
□投稿者/ 774RR -(2011/10/17(Mon) 17:29:59)
    「ファイル」ってのは要するに「単にデータ(バイト)が順番に並んでいるだけ」の代物。
    そのデータをどう解釈するかは、データを扱うユーザやプログラム任せになっている。
    だから SJIS だ EUC だ UTF-8 だと、いろいろなデータ形式があるんだ。

    SJIS (というか cp932) では
    A という文字に 41h というコードを与えている。
    あ という文字に 82a0h というコードを与えている。
    そして最終的に「バイトの列」として、コードの値をそのまま配置する。
    なので Aあ という文字列を「バイトの列」として取り出すと 41 82 A0 となるわけだ。

    fgetc() で1バイトづつ取り出すと、最初は 41 次は 82 次は A0
    fgets() で1行取り出すと、バイトデータ列の先頭は 41 次は 82 次は A0

    Visual C++ では _ismbblead() という関数に 41 を食わせると 0 が返ってくる
    すなわち multi byte lead 文字でない = 1バイトが半角1文字分である = 41 で1文字
    同様 _ismbblead() に 82 を食わせると 0以外 が返ってくる。
    すなわち multi byte lead 文字である = 後続のバイトとあわせて1文字である =
    (SJIS の場合) 82 と次の A0 をあわせて 82A0 で1文字である
    と判断すればいいんだ。

    # UTF-8 などの場合「後続のバイト」が1バイトとは限らないので注意が必要。
    # cp932 (SJIS) は1バイトか2バイトかのどちらかなので簡単。

    SJIS はバイト列の途中から1バイト目か2バイト目かを判断できない(こともないが困難)ので
    先頭からチェックしていかなければならない。その辺注意が必要。
記事No.62528 のレス /過去ログ105より / 関連記事表示
削除チェック/

■76081  Re[3]: VB.NETで凡例の文字サイズを変更したい。
□投稿者/ WebSurfer -(2015/05/29(Fri) 16:20:19)
    No76080 (まっくろくろすけ さん) に返信

    > System.Windows.Forms.DataVisualization.Charting.Chart コントロール
    > を作っています。

    英語を厭わなければ、以下のサイトから C# で書いた Windows Forms のサンプルを
    入手できるので、それをダウンロードしてはいかがですか。

    Samples Environments for Microsoft Chart Controls
    https://code.msdn.microsoft.com/mschart

    Windows Forms のサンプルは上記のページで[C# (5.6MB)]をクリックするとダウン
    ロードできます。

    「Samples Environments for Microsoft Chart Controls.zip」という名前の zip
    ファイルの中の「Windows Forms Samples Environment for Microsoft Chart
    Controls\C#」というフォルダに完全なソリューションとしてサンプルが含まれています。

    それを適当なフォルダに解凍して Visual Studio(.NET4 なので 2010 以降の
    バージョン)で開いて実行してみてください。

    基本の解説、いろいろなタイプのサンプルのデモ、それを作るための C# および
    VB.NET サンプルコード等が満載の Windows Forms アプリが動くはずです。

    凡例 (Legends) の文字サイズ(Font Size)の設定は、そのアプリを開いて右上
    の[Contents]タブをクリックし、その中の[Chart Features] ⇒[Legends]⇒
    [Legend Font]を見てください。

    Font を変更するとどのように表示されるかのデモと C# および VB.NET のサンプル
    コードがあります。

    多分これで十分(と言うよりこれよりよい資料は無い)と思います。
記事No.76076 のレス /過去ログ128より / 関連記事表示
削除チェック/

■84019  ワーカースレッド
□投稿者/ Use -(2017/05/09(Tue) 15:46:45)

    分類:[C#] 

    Windows 7/ Visual Studio 2010 C#


    OutDataをラベルに表示することが出来ず、下記のエラーが表示されます。
    ”静的でないフィールド、メソッド、またはプロパティ で、オブジェクト参照が必要です”

    ラベルにOutDataを表示するにはどのようにしたら宜しいでしょうか?


    private void Main(object sender, EventArgs e)
    {
    Worker workerObject = new Worker();
    Thread workerThread = new Thread(workerObject.DoWork);
    workerThread.Start();
    }

    public class Worker
    {
    public void DoWork()
    {
    string Outdata = "";
    while (!_shouldStop)
    {
       label2.text= OutData:
    }
    }

    public void RequestStop()
    {
    _shouldStop = true;
    private volatile bool _shouldStop;
    }
親記事 /過去ログ143より / 関連記事表示
削除チェック/

■84022  Re[1]: ワーカースレッド
□投稿者/ 大谷刑部 -(2017/05/09(Tue) 17:36:44)
    No84019 (Use さん) に返信
    > Windows 7/ Visual Studio 2010 C#
    >
    >
    > OutDataをラベルに表示することが出来ず、下記のエラーが表示されます。
    > ”静的でないフィールド、メソッド、またはプロパティ で、オブジェクト参照が必要です”
    >

    ↓以下と似た話な気がしますが。
    http://d.hatena.ne.jp/shingotada+2/20100720/1279644242
記事No.84019 のレス /過去ログ143より / 関連記事表示
削除チェック/

■84024  Re[1]: ワーカースレッド
□投稿者/ 魔界の仮面弁士 -(2017/05/10(Wed) 10:30:50)
    No84019 (Use さん) に返信
    > label2.text= OutData:

    C# では、行末に来るのは :(コロン) ではなく ;(セミコロン) です。
    また、ラベルならば .text ではなく .Text のはずです。


    > private void Main(object sender, EventArgs e)

    static void Main() では無いのですね。

    引数定義を見た限り、何かのイベントハンドラとして割り当てられているようですが、
    この Main メソッドはどこから呼ばれるようになっているのでしょうか。


    > Thread workerThread = new Thread(workerObject.DoWork);

    label2 という変数は、デザイナで貼られたものでしょうか。
    もしも class Worker 以外のクラス上にあるラベルなら、Worker 内からは
      label2.Text = 何某;
    でアクセスすることはできません。(どこのラベルを操作するか明示されていないため)
      

    また、そもそもラベルは、UI スレッドに属することになるわけですが、
    今回の Worker の DoWork メソッドは、UI スレッドではなく、
    新規に作成された別スレッドで動作するようになっています。


    何をしたいのか意図が読み取れなかったのですが、基本的に、
    別スレッドで管理されているオブジェクトを直接操作することはできませんので、
    オブジェクトの設計から見直した方が良いと思います。
記事No.84019 のレス /過去ログ143より / 関連記事表示
削除チェック/

■91043  Re[3]: ターゲットフレームワ−ク
□投稿者/ 魔界の仮面弁士 -(2019/05/21(Tue) 10:25:06)
    2019/05/21(Tue) 10:36:43 編集(投稿者)

    No91042 (otu さん) に返信
    > 4.8は同じ方法で表示されたので、既に4.7より新しい4.7.1や4.7.2が入っているからかもと思い、

    .NET 4 未満は、複数バージョンを同時にインストールできますが、
    .NET 4 以降はリプレース更新なので、複数インストールした場合、
    最も高いバージョンで上書きされることになります。

    ただし上記は実行環境の話。
    Visual Studio 側には、複数の Developer Pack を導入できます。


    上位バージョンのランタイムがインストールされていれば、
    下位バージョン向けにコンパイルされたアプリを動作させられます。
    バージョン非互換な機能を使っている場合は、別途対応が必要ですが、
    条件を満たせば、その逆に下位のランタイムで上位向けのアプリを
    動作させられるパターンもあります。
    もしくは特定のバージョンに限定して動作させるようにするよう
    アプリケーション構成ファイルを用意することも出来ます。

    この辺りについては、「バージョン リダイレクト」について調べてみてください。


    もちろん、開発環境と実行環境バージョンを一致させられるのであれば、
    それが最善であろうかと思います。検証の手間も減らせますし。


    > アンインストールはインストール済みのDeveloper Packを実行すると修復、アンインストールが
    > 選べるので、そこから行いました。コントロールパネルからは試していません。

    言語パック問題では無いでしょうか。自分も当時ハマりました。
    http://creatiovitae.hatenadiary.com/entry/2018/05/26/203200
    https://qiita.com/shin1103@github/items/6f88de2a008976357e69
    https://blog.shibayan.jp/entry/20180527/1527357042
記事No.91030 のレス /過去ログ157より / 関連記事表示
削除チェック/

■92094  Re[1]: レジストリ利用の注意点 vb.net
□投稿者/ 魔界の仮面弁士 -(2019/08/24(Sat) 21:04:45)
    No92089 (EVE さん) に返信
    > アプリの情報をユーザーに分かりにくい箇所に記録して
    分かりにくい箇所に記録する理由と意図が分かりませんでした。

    データの内容を他者に読み取られたくないという意図ならば、
    データを匿名化した上でクラウドに保存すれば、外部からは読み取れなくなるでしょう。
    データの存在場所を隠したいという意図ならば、
    アプリの exe ファイルの(もしくはアプリのあるフォルダー)の
    『名前付きストリーム』に保存するという手もありますし、
    データの可読性を落としたいというのなら、暗号化すれば良いと思いますし、
    データの改竄を防ぎたいならデジタル署名を付与するという手も。

    まぁ、.NET で組んでいる以上、この手の隠蔽工作にどこまでの効果があるかは疑問です。
    サーバーアプリを作っているとか、オブファスケーションまで行うとかでもない限りは。


    > ソフトの使用履歴を管理しようとしています
    そのデータを使うのが利用者本人なら、無理に隠蔽する必要は無いと思いますが、
    プログラム作者が収集したいという目的なら、個人情報保護法に抵触しないよう気を付ける必要がありますし、
    複数人が共有するシステムでログイン者の履歴を管理する意図なら、改竄・盗聴防止の仕組みが求められるかも。


    > 具体的にはレジストリにフラグの文字列と日付を読み書きしようと思っています
    レジストリエディタでも閲覧しにくようにするなら、最近の Visual Studio がそうであるように、
    外部のレジストリ ハイブに保存するという手もあるかと思います。
    http://sx1752.hateblo.jp/entry/2017/03/10/184019
    https://aonasuzutsuki.hatenablog.jp/entry/2019/01/01/000230


    > 何かレジストリを使う上で、あるあるな注意点などありましたら
    特に思い当たりませんが、揮発性レジストリと不揮発性レジストリの違いを考慮しておく…とか?
記事No.92089 のレス /過去ログ159より / 関連記事表示
削除チェック/

■92098  Re[2]: レジストリ利用の注意点 vb.net
□投稿者/ EVE -(2019/08/25(Sun) 15:37:03)
    shu (1189回)-(2019/08/24(Sat) 07:30:32)
    No92089 (EVE さん) に返信
    >OS動作に大きく関わっているので不必要に多くの情報を読み書きしない方が良いかと思います。

    ご回答ありがとうございます
    考え方を教えてくださりありがとうございます
    そのように注意してやってみようと思います。



    No92094 (魔界の仮面弁士 さん) に返信
    > ■No92089 (EVE さん) に返信

    詳しいご説明ありがとうございます
    いろいろな方法がとても参考になりました

    > 分かりにくい箇所に記録する理由と意図が分かりませんでした。

    単にユーザーにばれないようにライセンスキーと使用期限の保存ができればよかったりします
    だからレジストリに記録しても見れる、といわれるかもしれませんが
    素人が気軽にできなければそれでよいかと思っています


    >>具体的にはレジストリにフラグの文字列と日付を読み書きしようと思っています
    > レジストリエディタでも閲覧しにくようにするなら、最近の Visual Studio がそうであるように、
    > 外部のレジストリ ハイブに保存するという手もあるかと思います。
    > http://sx1752.hateblo.jp/entry/2017/03/10/184019
    > https://aonasuzutsuki.hatenablog.jp/entry/2019/01/01/000230

    記事を見ると動かなくなったという記事がありました。
    たぶんレジストリのほうが簡単なんですよね??



    > 特に思い当たりませんが、揮発性レジストリと不揮発性レジストリの違いを考慮しておく…とか?

    ありがとうございます
    調べてみました
    レジストリについてまったく素人なのでとても勉強になりました

    ひとつ心配に思っていたのが

    【心配1】
    レジストリを保存先とした場合にユーザー権限により読み書きできないことを
    考慮しないといけないものなのかどうか

    【心配2】
    shuさんもご記載の通り、ネーミングや場所が悪くて
    他のシステムに影響するようなことがないのかどうかについて、心配しています

    ネーミングや保存場所で注意することなどあるのでしょうか
    なるべく 無難 なものであればなんでもいいと思っています

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



<< 0 >>

パスワード/

- Child Tree -