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 >>
■143  ActiveReportで直接印刷するときの印刷ダイアログについて
□投稿者/ 翔 -(2005/02/24(Thu) 20:20:47)
>

    分類:[.NET] 


    分類:[.NET] 

    またまた印刷関係で御座います。

    件名の通り、ActiveReportで直接印刷するときの印刷ダイアログ(印刷ページ数実行状態と言えばいいのでしょうか)を画面中央に表示したいです。

    現状は、画面の左上くらいに表示されてしまいます。

    -----コード
    rpt.Run(true);
    rpt.Document.Print(true, true);
    -----
    印刷するだけならこれだけでいいのですが、ダイアログの設定はないものか探しています。
    そもそも出来るのかどうかもわかりませんが、何か情報があればお願いします。
親記事 /0過去ログ1より / 関連記事表示
削除チェック/

■76  Re[1]: テキストの http から始まるURLの取得
□投稿者/ 中博俊 -(2005/02/07(Mon) 09:09:14)
>

    分類:[VB6以前] 

    こんにちは中です。

    #VB6でRegex系ってなかったかな・・・
    基本的にURIに利用できる文字ってのは決まっています。

    #日本語ドメインがあるから厄介なんですが・・・

    a-zA-Z0-9-_とかって種類

    RFC1738に規定されています。

    http://www.faqs.org/rfcs/rfc1738.html

    上記ページの5. BNF for specific URL schemesに書いてありますが、alpha | digit | safe | extraの4種かエスケープ以外の文字が出てきた場合に終わりと判断できるでしょう。

    #たとえばスペース、改行、タブなど

    ベタにやると面倒なので、正規表現エンジンを使うほうが楽です。

    ------------------------------------------------------
    中博俊 MSMVP Visual Studio C# Since 2004/04-2005/03, MCP
    http://naka.wankuma.com/
    http://naka.wankuma.com/blog/
    naka@wankuma.com


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

■2201  (C#.NET)エスケープシーケンスについて
□投稿者/ とおりすがり -(2005/12/26(Mon) 08:56:14)

    分類:[C#] 


    分類:[C#] 

    いつも参考にさせていただいています。
    C#.NETでの円マークの扱いについての質問です。
    (以下、半角円マーク「¥」は「\」と表示されますのでご留意下さい)

     [string abc = "C:\Program Files";]のように記述すると
     構文エラーが発生するため、
     [string abc = @"C:\ProgramFiles";]のように
     エスケープシーケンス文字として読ませるよう記述すると思います。

     ところが、何故か改行コードは[string abc = "\r\n";]と記述しても
     構文エラーが発生しません。もちろん[string def = @"\r\n";]としても
     構文エラーは発生しないのですが、この両者、[if (abc == def)]のように
     比較してみると、どうやら文字コード自体は違う文字列として扱われる
     ようなのです。

     質問-------------------------------------------------------
     「エスケープシーケンスって何?」というところが
     よく分かっていないのが現状ですが、以下、質問させてください。
      質問1)[@]付きの文字列と[@]無しの文字列、何が違うのか?
      質問2)[@]付きの文字列を[@]無しの文字列に変換できないか?
     -----------------------------------------------------------

     困っている事-----------------------------------------------
     XMLファイルから[\r\n](改行コード)付きの文字列を取得し
     それをグレープシティー社の[ElTabelle(エルタブレ)]にセット
     すると改行されず[\r\n]が文字列としてそのまま表示された。

     原因は、文字列[\r\n]をC#.NETが「エスケープシーケンス文字」
     として文字列を[@]付きにセットしていたため。
     [@"\r\n"]→["\r\n"]に変換しElTabelleに入れると改行出来た。
     以上のことから、[@"\"]→["\"]に変換するメソッドを作成したい。
     -----------------------------------------------------------

    以上、長文になりましたがよろしくお願い致します。

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

■2180  外部アプリケーション起動時について
□投稿者/ pp -(2005/12/21(Wed) 10:28:02)

    分類:[VB.NET] 


    分類:[VB.NET] 

    現在以下のようにして外部アプリケーションを起動しているのですが、起動して終了した後もとのファームがWord等を開いていたりすると後ろに隠れてしまいます。また、強制的に最前面にしようとタスクバーが点滅してしまいます。起動した外部アプリケーションを終了した時に元のフォームを最前面に表示し、タスクバーの点滅がないようにしようとするにはどうしたらよいのでしょうか?

    OS:WinXP VB.NET2003 Framework1.1
    ------------------------------------------------------------------------
    Private m_frm As Form
    Private proc As Process


    Public Sub StartAppWait(ByVal parentForm As Form, ByVal strPath As String)

    proc = New Process
    m_frm = parentForm

    Try
    m_frm.Refresh()
    m_frm.Enabled = False

    '// ▼アプリケーションを起動▼ //
    With proc.StartInfo
    .FileName = PathCombine(g_strAppPath, strPath)
    .WindowStyle = ProcessWindowStyle.Normal
    End With
    proc.Start()

    '// プロセスが終了した時にExitedイベントを発生 //
    proc.EnableRaisingEvents = True
    '// イベントハンドラの追加 //
    AddHandler proc.Exited, AddressOf proc_Exited
    Catch ex As Exception
    Call ShowErrorMessage(ex, "アプリケーション起動エラー")
    m_frm.Enabled = True
    Finally
    End Try
    End Sub

    Private Sub proc_Exited(ByVal sender As Object, ByVal e As EventArgs)

    Try
    '// プロセスが終了した時に実効される //
    m_frm.Enabled = True
    m_frm.Activate()
    m_frm.Refresh()
    Catch ex As Exception
    Call ShowErrorMessage(ex, "外部アプリケーション終了エラー")
    Finally
    '// イベントハンドラの開放 //
    RemoveHandler proc.Exited, AddressOf proc_Exited

    proc.Close()
    proc.Dispose()

    m_frm.TopMost = True
    m_frm.TopMost = False
    End Try

    End Sub

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

■2162  C#.NETでSQLクエリ実行問題
□投稿者/ まさ -(2005/12/19(Mon) 18:06:21)

    分類:[C#] 


    分類:[C#] 

    こんばんわ。
    初めて、この掲示板に書き込むので、よろしくお願いいたします。
    近頃、私はMCPをがんばって、試験を受けたいのです。
    C#.NETでSQL SERVER 2000との接続プログラムを作っています。
    問題があったので、ちょっと聞かせてください。

    フォームにボタンを追加して、このボタンのソースは以下になります。
    sqlConnection1.Open ();

    MessageBox.Show ("SQL SERVER 2000 has oppenned");

    sqlInsertCommand1.CommandText = @"INSERT INTO Company (ID, CompanyName, CompanyNameShort, EnglishName, PostalCode, City, addressDetail, Tel1, Tel2, Fax, ContactPsName, ContactPsTitle, ContactPsTel, ContactPsEmail, status, representativeName, representativePhone, representativeTitle, website) VALUES (@ID, @CompanyName, @CompanyNameShort, @EnglishName, @PostalCode, @City, @addressDetail, @Tel1, @Tel2, @Fax, @ContactPsName, @ContactPsTitle, @ContactPsTel, @ContactPsEmail, @status, @representativeName, @representativePhone, @representativeTitle, @website); SELECT ID, CompanyName, CompanyNameShort, EnglishName, PostalCode, City, addressDetail, Tel1, Tel2, Fax, ContactPsName, ContactPsTitle, ContactPsTel, ContactPsEmail, status, representativeName, representativePhone, representativeTitle, website FROM Company WHERE (ID = @ID)";

    sqlInsertCommand1.ExecuteNonQuery ();
    --------------------------------------------------------------------------

    フォームにいろんなTextBoxを付いていて、ユーザーが入力したら、登録ボタンを押すと、SQL SERVER 2000に新たなレコードをInsertしたいと思います。

    sqlInsertCommand1.ExecuteNonQuery ();
    を実行したら、「システム エラーです」というメッセージが出てしまいました。

    データベースの接続確認と、データセットも設定済みです。
    写真もアップロードさせていただきます。

    もし、エラー原因がご存知でしたら、ご教授ください。
    よろしくお願いいたします。
親記事 /0過去ログ2より / 関連記事表示
削除チェック/

■2151  VB6.0によるイベントログ取得
□投稿者/ 仁志 -(2005/12/17(Sat) 18:31:48)

    分類:[VB6以前] 


    分類:[VB6以前] 

    初めましてです。

    自分は仁志と申します。さっそく質問なんですが
    現在VB6.0でWindowsイベントログを取得しようと奮闘しています。
    ですが、イベントログの説明の部分が上手く取れません。
    それ以外の部分はうまく取れているのですが。。。。

    -------------------------------------------------------------------------
    Windows上より取ってきたイベントログ説明(システム)
    システムは次の設定のネットワーク アダプタを登録できませんでした:
    アダプタ名 : {F5104CA0-4DD4-4BCC-A8FC-5ED4EBCA97A8}

    プログラムより取得してきた説明部分
    \Device\NetBT_Tcpip_{F5104CA0-4DD4-4BCC-A8FC-5ED4EBCA97A8}
    -------------------------------------------------------------------------

    と上記のようになってしまいます。

    ソースの一部を公開いたしますのでご教授いただければ幸いです。

    -------------------------------------------------------------------------
    動作環境
    OS Windows2000
    言語 Visual Basic6.0
    -------------------------------------------------------------------------

    Public Function GetLog()
    Dim hEventLog As Long
    Dim typLogRec As EVENTLOGRECORD
    Dim lngRet As Long
    Dim lngBytesRead As Long
    Dim lngMinNumberOfBytesNeeded As Long
    Dim bytBuf() As Byte
    Dim lngLen As Long
    Dim bytEdit() As Byte
    Dim intEdit As Integer
    Dim strString As String

    Erase bytBuf
    ReDim bytBuf(0)
    ReDim bytBufA(0)

    '-- 必要なバッファサイズを取得する
    lngRet = ReadEventLog(hEventLog, EVENTLOG_SEQUENTIAL_READ Or EVENTLOG_BACKWARDS_READ, _
    0&, bytBuf(0), 0, lngBytesRead, lngMinNumberOfBytesNeeded)
    If lngRet = 0& Then

    lngLen = lngMinNumberOfBytesNeeded
    ReDim bytBuf(lngLen - 1)

    '-- イベントログレコードの取得
    lngRet = ReadEventLog(hEventLog, EVENTLOG_SEQUENTIAL_READ Or EVENTLOG_BACKWARDS_READ, _
    0&, bytBuf(0), lngLen, lngBytesRead, lngMinNumberOfBytesNeeded)

    CopyMemory typLogRec, bytBuf(0), LenB(typLogRec)

    With typLogRec
    '-- イベントログレコードの取得
    Erase bytEdit
    ReDim bytEdit(.DataOffset - .StringOffset)
    CopyMemory bytEdit(0), bytBuf(.StringOffset), UBound(bytEdit)
    strString = StrConv(bytEdit, vbUnicode)
    End With

    End With;

    END Function



    API、EventLogRecordなどの表記もしてあるのですが、上手くいきません。
    これは自分の見解なのですが、
    取得できるイベントログ説明文は上記のものが限界なのかもしれないと、考えております。
    以上になりますが、なにかお分かりのことや、ご指摘していただけることがあればご教授ください。

    宜しくお願いします。



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

■2115  Re[3]: アクティブレポート・改ページ時の操作について
□投稿者/ かく -(2005/12/14(Wed) 10:16:01)

    分類:[C#] 

    すいません、細くですが明細部の行数によって1ページに下記のように出力されなければなりません。なのでヘッダー情報はDetailで出力しております。
    説明が下手ですみません。


        ヘッダー・タイトルetc(固定文字)
    −−−−−−−−−−−−−−−−−−−−−−−−
     ヘッダー情報(固定文字に対応したデータを表示) 

    名細部------------------------------------
        (動的に変化)
    名細部------------------------------------

     ヘッダー情報(固定文字に対応したデータを表示) 

    名細部------------------------------------
        (動的に変化)
    名細部------------------------------------


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

■2112  アクティブレポート・改ページ時の操作について
□投稿者/ かく -(2005/12/13(Tue) 19:22:18)

    分類:[C#] 


    分類:[C#] 

    はじめまして、よろしくお願いいたします。
    質問なのですが私は下記のような帳票を作成しております。

        ヘッダー・タイトルetc(固定文字)
    −−−−−−−−−−−−−−−−−−−−−−−−
     ヘッダー情報(固定文字に対応したデータを表示) 

    名細部------------------------------------
        (動的に変化)
    名細部------------------------------------


    条件として明細の行数によってはヘッダー情報・名細部は1ページに複数表示します。しかし明細部の行数が多いときは2ページにわたって出力されなければなりませんが、そのときにもう一度、ヘッダー情報を出力しないといけませんが、やり方がわからないので皆さん教えていただけませんか?

    ヘッダー情報は1ページに複数出る場合があるので、Detailで。
    名細部はサブレポートで出力しています。
    しかし、この場合はヘッダー情報はグループヘッダーで
    名細部をDetailにした方がよろしいでしょうか?
    よろしくお願いいたします。


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

■2071  Re[2]: File.COPY について
□投稿者/ アスク -(2005/12/06(Tue) 17:57:58)

    分類:[.NET 全般] 

    はじめまして。

    いばさんが書かれていたとおり

    'ファイル作成
      File.Create("C:\テスト2\test.txt")
    を削除すればいけました。

    もしソースの残すのであれば

    If Directory.Exists("C:\テスト2") Then
    '同じディレクトリが存在したら、削除する
    Directory.Delete("C:\テスト2", True)
    End If
    'ディレクトリ作成
    Directory.CreateDirectory("C:\テスト2")

    '--追加分----------------------------
    ' 戻り値を格納する変数を宣言する
    Dim hStream As System.IO.FileStream
    '--追加分----------------------------

      'ファイル作成
    '--変更箇所--------------------------
    '  File.Create("C:\テスト2\test.txt")
    hStream = File.Create("C:\テスト2\test.txt")
    '--変更箇所--------------------------

    '--追加分----------------------------
    ' 作成時に返される FileStream を利用して閉じる
    If Not hStream Is Nothing Then
    hStream.Close()
    End If
    '--追加分----------------------------

    'ファイルコピー
      File.Copy("C:\テスト\test.txt","C:\テスト2\test.txt", True)

    にすればとおります。

    参考になりますでしょうか?
記事No.2069 のレス /0過去ログ2より / 関連記事表示
削除チェック/

■1902  Re[9]: クラスIniFileでReadSectionについて
□投稿者/ もみのき -(2005/11/17(Thu) 16:25:33)

    分類:[VB.NET] 

    しばらくPCから離れた生活を送っていた為、レスを頂いた方にお礼も遅れ申し訳け
    ありません!

    CとC#がきゅうりか冬瓜か・・・の議論は、私の質問の本筋ではないのでそこだけに
    議論が集中するのは本意ではありません。
    (言い出しっぺはおまえだ!と言われれば返す言葉もないのですが・・・(^-^;)

    さて、本日ようやく環境が整って新しいIniFileを導入したのですが・・・
    下記のエラーが出ます。
    『'System.IO.FileLoadException' のハンドルされていない例外が system.windows.forms.dll で発生しました。

    追加情報 : 見つかったアセンブリのマニフェストの定義 'IniFile' はアセンブリ
    の参照と一致しません。』
    前のIniFileでは出なかったエラーの為、導入ミスを疑いました。
    そこで、簡単なプログラムでその検証をしました。
    Formの中にボタンが一つ、ボタン押下でIniFileを呼び出します。

    ---------------------------------------------------------------------
    Public Class Form1
    Inherits System.Windows.Forms.Form

    #Region " Windows フォーム デザイナで生成されたコード "

    Public Sub New()
    MyBase.New()

    ' この呼び出しは Windows フォーム デザイナで必要です。
    InitializeComponent()

    ' InitializeComponent() 呼び出しの後に初期化を追加します。

    End Sub

    ' Form は、コンポーネント一覧に後処理を実行するために dispose をオーバーライドします。
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
    If disposing Then
    If Not (components Is Nothing) Then
    components.Dispose()
    End If
    End If
    MyBase.Dispose(disposing)
    End Sub

    ' Windows フォーム デザイナで必要です。
    Private components As System.ComponentModel.IContainer

    ' メモ : 以下のプロシージャは、Windows フォーム デザイナで必要です。
    'Windows フォーム デザイナを使って変更してください。
    ' コード エディタを使って変更しないでください。
    Friend WithEvents Button1 As System.Windows.Forms.Button
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
    Me.Button1 = New System.Windows.Forms.Button
    Me.SuspendLayout()
    '
    'Button1
    '
    Me.Button1.Location = New System.Drawing.Point(64, 64)
    Me.Button1.Name = "Button1"
    Me.Button1.Size = New System.Drawing.Size(200, 64)
    Me.Button1.TabIndex = 0
    Me.Button1.Text = "Button1"
    '
    'Form1
    '
    Me.AutoScaleBaseSize = New System.Drawing.Size(5, 12)
    Me.ClientSize = New System.Drawing.Size(328, 277)
    Me.Controls.Add(Me.Button1)
    Me.Name = "Form1"
    Me.Text = "Form1"
    Me.ResumeLayout(False)

    End Sub

    #End Region

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim abc As Jeanne.Ini.IniFile
    Dim data As Object

    abc.FilePath = "D:\file1.NET\bin\file1.ini"
    data = abc.ReadInteger("Main Position", "Main_Width")
    End Sub
    End Class
    ---------------------------------------------------------------------

    このプログラム実行でも
    『'System.IO.FileNotFoundException' のハンドルされていない例外が system.windows.forms.dll で発生しました。

    追加情報 : ファイルまたはアセンブリ名 IniFile、またはその依存関係の
    1つが見つかりませんでした。』
    となります。

    Readmeにあるとおり導入したのですが、何か至らなかったでしょうか?
    どうかご教示ください。

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

■1823  MSMQ
□投稿者/ takenii -(2005/11/07(Mon) 18:29:14)

    分類:[C#] 


    分類:[C#] 

    はじめまして。

    MSMQを使用してC#のアプリケーションとC++のアプリケーション間で
    メッセージの送受信を行うプログラムを作成しています。
    下記のコードでC#からC++にメッセージを送るとXML形式のデータになってします。
    バイナリ形式のデータで送りたいのですがどのようにすればよいのでしょうか?

    C#の送信処理-----
    msgQueue = new MessageQueue(@".\PRIVATE$\test");
    Message msg= new Message("abc")
    msgQueue .Send(msg);

    C++の受信処理-----
    HANDLE hQueue;
    MQOpenQueue(".\\PRIVATE$\\test",
          MQ_RECEIVE_ACCESS,
          RECEIVE_SHARE,
          &hQueue);
    MQMSGPROPS msg;
    MQReceiveMessage(hQueue,
    INFINITE,
    MQ_ACTION_RECEIVE,
    &msg,
    NULL,
    NULL,
    NULL,
    MQ_NO_TRANSACTION);

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

■1801  ASP.NETコンパイルエラー
□投稿者/ みゅう -(2005/11/03(Thu) 14:49:15)

    分類:[ASP.NET] 


    分類:[ASP.NET] 

    こんばんは、お世話になります。
    環境はWin2000 VS.NET2003です。

    Visual Basic.NETのASP.NET Webアプリケーションで実行すると以下のエラーが出てくるので原因が分かりましたらアドバイスいただけないかと思い投稿させてもらいました。

    --------------------------------------------------------------------
    '/test' アプリケーションでサーバー エラーが発生しました。
    --------------------------------------------------------------------------------

    コンパイル エラー
    説明 : この要求の処理に必要なリソースのコンパイル中にエラーが発生しました。以下の解析エラーの詳細を確認し、ソース コードに変更を加えてください。

    コンパイラ エラー メッセージ: BC30390: 'test.WebForm1.Private Sub dgrdStaff_SortCommand(source As Object, e As System.Web.UI.WebControls.DataGridSortCommandEventArgs)' は 'Private' であるため、このコンテキストではアクセスできません。


    行 11: <tr>
    行 12: <td width="50%" align="center" valign="top">
    行 13: <asp:DataGrid id="dgrdStaff" runat="server" AutoGenerateColumns="False" Width="100%" CssClass="dgrdShadow"
    行 14: AllowSorting="True" OnSortCommand="dgrdStaff_SortCommand" OnSelectedIndexChanged="dgrdStaff_SelectedIndexChanged">
    行 15: <HeaderStyle CssClass="dgrdHeaderStyle" HorizontalAlign="Center" />


    ソース ファイル: http://localhost/test/skd.aspx 行: 13


    詳しいコンパイラ出力を表示:
    完全なコンパイル ソースを表示:

    ----------------------------------------------------------------------
    このようなエラーが出てしまい実行できなくなってしまったのですが何か原因があるのでしょうか?いろいろと調べてみましたが分からなかったので投稿させてもらいました。よろしくお願いいたします。

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

■1720  DVStorm-XAドライバの取得方法
□投稿者/ nish -(2005/10/25(Tue) 14:38:12)

    分類:[その他の言語] 


    分類:[その他の言語] 

    -----
     CoCreateInstance(...);
     CreateClassEnumerator(CLSID_VideoInputDeviceCategory, &pClassEnum, 0);
    -----
    で取得できません。(DVStorm-RTのドライバは取得できます)
    その他いくつかのクラスIDで試しましたがダメです。

    DVStorm-XAのドライバの取得方法を教えて下さい。

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

■3660  Re[2]: ArrayCopyの使い方について教えてください。
□投稿者/ あらら -(2006/05/18(Thu) 10:44:15)

    分類:[C#] 

    まどかさん、返信ありがとうございます。

    教えて頂いたように、下記のようにしたら、解決しました。
    ありがとうございます。
    -------------------
    char[] charArray1 = ("test").ToCharArray();
    int size = 100;

    byte[] byteArray1 = System.Text.Encoding.GetEncoding("shift-jis").GetBytes(charArray1);
    byte[] byteArray2 = BitConverter.GetBytes(size);

    byte[] byteArray3 = new byte[260];
    Array.Copy(byteArray1, 0, byteArray3, 0, byteArray1.Length);
    Array.Copy(byteArray2, 0, byteArray3, 256, byteArray2.Length);

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

■3655  ArrayCopyの使い方について教えてください。
□投稿者/ あらら -(2006/05/18(Thu) 10:01:48)

    分類:[C#] 


    分類:[C#] 

    お世話になっております。

    下記の様な場合に配列の長さは変えないで、配列同士をつなげたいのですが、
    どのようにすればよいでしょうか?

    -------------------
    char[] charArray1 = ("test").ToCharArray();
    int size = 100;

    byte[] byteArray1 = new byte[256];
    byteArray1 = System.Text.Encoding.GetEncoding("shift-jis").GetBytes(charArray1);

    byte[] byteArray2 = new byte[4];
    byteArray2 = BitConverter.GetBytes(size);

    byte[] byteArray3 = new byte[260];
    Array.Copy(byteArray1, 0, byteArray3, 0, 256);
    // ↑ここで「ソース配列の長さが足りません。srcIdex、長さおよび配列の最小値を
    //  確認してください」の例外が発生します。
    Array.Copy(byteArray2, 0, byteArray3, 256, 4);

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

■3541  Re[5]: 構造体から値をもってきたい
□投稿者/ あらら -(2006/05/12(Fri) 11:53:46)

    分類:[C#] 

    お世話になっております。

    教えていただいたやり方で下記のように記述すれば、Form2で値が取れました。
    ありがとうございます。

    でも、できれば、Class1のみを介して値のやり取りをしたいと考えているので
    すがそういったことは可能なのでしょうか?
    (たとえば、Form1でXに値を設定後、任意の複数のFormからXの値を取得できる
    ような感じ。その時、Form1からは任意の複数のFormには値を渡さなくてもよい
    ようにしたいです。。。)

    質問ばかりで申し訳ないですが、アドバイス等いただけたら幸いです。

    -----------------------------
    /* Class1.cs */
    //変更なし

    /* Form1.cs */
    //ボタンクリックイベントに以下を追加
    Form2 f2 = new Form2()
    f2.i = a.X;
    f2.Show();

    /* Form2.cs */
    private int _i;
    public int i
    {
    get { return _i; }
    set { _i = value; }
    }
    private void button1_Click(object sender, EventArgs e)
    { // _i を使用 }
記事No.3533 のレス /0過去ログ3より / 関連記事表示
削除チェック/

■3533  構造体から値をもってきたい
□投稿者/ あらら -(2006/05/12(Fri) 09:13:19)

    分類:[C#] 


    分類:[C#] 

    お世話になっております。

    Class1に構造体を宣言して、Form1から値を設定し、Form2で設定した値を取得しよう
    と思っています。
    そこで、下記の様な感じで記述しようとしたのですが、Form1で設定した値をForm2で
    どのように持ってこればよいのかわかりません。

    基本的な質問なのかもしれませんが、ご教授いただけると幸いです。

    ---------------
    /* Class1.cs */
    Class1
    {
    Struct A
    {
    int _X;
    public int X
    {
    get { return _X; }
    set { _X = value; }
    }
    }
    }

    /* Form1.cs */
    private void button1_Click(object sender, EventArgs e)
    {
    Class1.StructPoint a = new Class1.StructPoint();
    a.X = 1;
    }

    /* Form2.cs */
    private void button1_Click(object sender, EventArgs e)
    {
    //ここでどう記述すれば、Form1で設定した値を
    //もってこれるのでしょうか?
    }
親記事 /0過去ログ3より / 関連記事表示
削除チェック/

■3428  VB2005 DataGridViewについて
□投稿者/ Sakura -(2006/05/05(Fri) 16:01:08)

    分類:[VB.NET] 


    分類:[VB.NET] 

    +-----+-----------+-----------+  --
    | | 111 | 222 | |
    +ABCDE+-----+-----+-----+-----+ +--列ヘッダ
    | |aaaaa|bbbbb|ccccc|ddddd| |
    +-----+-----+-----+-----+-----+ --
    |xxxxx| 123| 123| 123| 123|
    +-----+-----+-----+-----+-----+
    |xxxxx| 123| 123| 123| 123|
    +-----+-----+-----+-----+-----+

    VB2005のDataGridViewで上記のように列ヘッダを複数行にし、
    セルを結合することはできるのでしょうか。
    宜しくお願いします。

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

■3342  構造体ポインタのキャスト
□投稿者/ ぽこぶび -(2006/04/28(Fri) 18:51:21)

    分類:[C#] 


    分類:[C#] 

    VS2003のC#で下記のコードをコンパイルしようとすると
    fixed ステートメントの初期化子内の fixed でないステートメントのアドレスのみを取得できます。
    というエラーになってコンパイルを完了することができません。
    どのようにコードを変更したらよいのでしょうか?

    // ------------------------------------
    public struct TESTSTRUCT
    {
    public byte str1;
    public byte str2;
    }

    private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    unsafe
    {
    byte [] byBuf = new byte[10];
    byte byteBuf;

    TESTSTRUCT *pTestStruct = (TESTSTRUCT *)byteBuf;
    TESTSTRUCT *pTestStruct2 = (TESTSTRUCT *)&byBuf[0]; // ここでエラー

    }
    }
    // ------------------------------------

    以上どうかよろしくお願いいたします。


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

■3195  Re[1]: TreeViewを再帰的に作成したい。
□投稿者/ 魔界の仮面弁士 -(2006/04/21(Fri) 12:05:12)

    分類:[C#] 

    > 「どのように"再帰"を利用して木構造を作成していくかがわからない」

    たとえば、最終的に表示させるデータが
     大元
     ├子1
     │├孫11
     │└孫12
     └子2
      ├孫21
      └孫22
    のような形式だとしたら、それを――
     Oracle なら、START WITH / CONNECT BY
     SQL Server なら、再帰クエリ
    ――などを用いるなどして、
     id 親 名前
     ------------
     01 00 大元
     02 01 子1
     04 02 孫11
     07 02 孫12
     03 01 子2
     06 03 孫11
     05 03 孫22
    のような、「ツリーでの見た目の表示順」になるように取り出せば、
    C#側を再帰メソッドにする必要は無いかも知れません。


    void Button1_Click(object sender, System.EventArgs e)
    {
     //実際には、データベースから取得
     this.treeView1.Nodes.Clear();
     AppendNode(treeView1, 1, 0, "大元");
     AppendNode(treeView1, 2, 1, "子1");
     AppendNode(treeView1, 4, 2, "孫11");
     AppendNode(treeView1, 7, 2, "孫12");
     AppendNode(treeView1, 3, 1, "子2");
     AppendNode(treeView1, 6, 3, "孫21");
     AppendNode(treeView1, 5, 3, "孫22");
    }

    void AppendNode(TreeView treeView, int id, int parentId, string name)
    {
     // .NET 2.0用
     TreeNodeCollection nodes = treeView.Nodes;
     if(parentId != 0)
     {
      TreeNode[] parents = nodes.Find(parentId.ToString(), true);
      if(parents.Length != 0)
      {
       nodes = parents[0].Nodes;
      }
     }
     nodes.Add(id.ToString(), name);
    }
記事No.3188 のレス /0過去ログ3より / 関連記事表示
削除チェック/

<前の20件 | 次の20件>

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >>

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

パスワード/

- Child Tree -