问题描述
我知道这是一个菜鸟问题,但是我找不到解决问题的方法,因此我试图找出使用Google Drive API的方法,我所需要的只是将Google Drive中的所有文件添加到列表中FlowLayoutPanel中的控件(UserControl),但是当我尝试在UserControl中更改标签title_txt
时,出现错误'System.NullReferenceException:' Object reference not set to an instance of an object.
这是我的Form1代码:
private void Form1_Load(object sender,EventArgs e)
{
UserCredential credential;
credential = GetCredentials();
//Create DriveAPI Service
var service = new DriveService(new BaseClientService.Initializer()
{
HttpClientinitializer = credential,ApplicationName = ApplicationName,});
string pagetoken = null;
do
{
ListFiles(service,ref pagetoken,project_flp);
} while (pagetoken != null);
}
private static void ListFiles(DriveService service,ref string pagetoken,FlowLayoutPanel project)
{
//Define parameters of request
FilesResource.ListRequest listRequest = service.Files.List();
listRequest.PageSize = 1;
listRequest.Fields = "nextPagetoken,files(name)";
listRequest.Pagetoken = pagetoken;
listRequest.Q = "mimeType='image/png'";
var request = listRequest.Execute();
if (request.Files != null && request.Files.Count > 0)
{
custom_list[] list = new custom_list[request.Files.Count];
int i = 0;
foreach (var file in request.Files)
{
Console.WriteLine("{0}",file.Name);
list[i].Title = file.Name; //HERE I GET THIS ERROR
project.Controls.Add(list[i]);
i++;
}
pagetoken = request.NextPagetoken;
if (request.NextPagetoken != null)
{
}
}
else
{
Console.WriteLine("No files found.");
}
}
和我要添加到FlowLayoutPanel的UserControl具有以下代码:
private string _title;
public string Title
{
get { return _title; }
set { _title = value; title_txt.Text = value; }
}
为什么会出现此错误?毕竟,Console.WriteLine("{0}",file.Name);
向我返回了文件名。
我正在C#WinForms中这样做
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)