2011-01-24 6 views

Trả lời

13

Một cách đơn giản:

string[] args = Environment.GetCommandLineArgs(); 

Hoặc bạn có thể thay đổi chính gọi để bao gồm các thông số (trong Program.cs):

static void Main(string[] args) 
{ 

Bạn sau đó sẽ cần phải chuyển nó vào Form của bạn, và thay đổi constructor của form của bạn cho phù hợp (giả sử đó là nơi bạn cần args):

public Form1(string[] args) 
{ 
+0

Cái đầu tiên hoạt động rất đẹp! Tôi cũng đã tìm ra rằng nó sẽ là tốt hơn để phát hiện nếu nó có nhiều hơn 1 đối số, sau đó nhận được một tại chỉ số 1. – Kaitlyn

+0

Tuyệt vời. :) Tôi thường sử dụng Nini cho cả cấu hình đọc và phân tích cú pháp dòng lệnh: http://nini.sourceforge.net/ –

+0

Trông khá thú vị :) Có vẻ như nó đã chết mặc dù với bản cập nhật vào năm 2010 ...:/ – Kaitlyn

1

Khi bạn tạo ứng dụng WinForm trong C#, trình soạn thảo tạo tệp Program.cs cho bạn. Đó là nơi chính được đặt và đó là nơi mà các đối số có sẵn.

Đó là một chút "ảo thuật" IDE vì thiếu thuật ngữ tốt hơn. Vẫn còn một chức năng 'chính', nó chỉ khởi chạy một thể hiện của biểu mẫu chính của bạn và bất kỳ thứ gì khác cần thiết cho bạn. Mở tập tin đó và xem.

1

Bạn cần thay đổi hàm tạo biểu mẫu để chấp nhận tham số arg.

ví dụ:

public void Form1(string[] args) 
{ 

} 
+0

Câu trả lời của stefan cũng chính xác. Bạn có chuyển args đến ứng dụng hoặc biểu mẫu không? – WraithNath

+3

Đây là mục nhập chính() - lấy args chứ không phải biểu mẫu. –

+0

@Tedd - cảm ơn, tôi nhận ra rằng phía sau – WraithNath